diff --git a/.env b/.env index ce22e7b8..d6febfb4 100755 --- a/.env +++ b/.env @@ -9,6 +9,7 @@ # Real environment variables win over .env files. # # DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES. +# https://symfony.com/doc/current/configuration/secrets.html # # Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2). # https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration @@ -23,16 +24,22 @@ APP_SECRET=c613cd77e9a38d7947796bdcaf501d23 # For an SQLite database, use: "sqlite:///%kernel.project_dir%/var/data.db" # For a PostgreSQL database, use: "postgresql://db_user:db_password@127.0.0.1:5432/db_name?serverVersion=11&charset=utf8" # IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml -DATABASE_URL=mysql://db_user:db_password@127.0.0.1:3306/db_name?serverVersion=5.7 +# +# DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db" +# DATABASE_URL="mysql://app:!ChangeMe!@127.0.0.1:3306/app?serverVersion=8.0.32&charset=utf8mb4" +# DATABASE_URL="mysql://app:!ChangeMe!@127.0.0.1:3306/app?serverVersion=10.11.2-MariaDB&charset=utf8mb4" +DATABASE_URL="postgresql://app:!ChangeMe!@127.0.0.1:5432/app?serverVersion=16&charset=utf8" ###< doctrine/doctrine-bundle ### SITE_BASE_URL=http://localhost +SITE_BASE_UPLOADS=https://127.0.0.1:8000/uploads ###< redireccion temporal ### SITE_TEMPORAL=true SITE_ROBOT="index, follow" +SITE_DISALLOW_SEARCH_ENGINE_INDEX=false ###> symfony/mailer ### -# MAILER_DSN=smtp://localhost +# MAILER_DSN=null://null ###< symfony/mailer ### ### > facebook code FACEBOOK_PIXEL_ENABLE=false diff --git a/.gitignore b/.gitignore index d6d1ad6f..ff3d41ec 100755 --- a/.gitignore +++ b/.gitignore @@ -113,3 +113,12 @@ yarn-error.log public/images/logo-solo.png /ROADMAP.md /.php-version + +###> phpstan/phpstan ### +phpstan.neon +###< phpstan/phpstan ### +/tools/php-cs-fixer/vendor/ +/.php-cs-fixer.cache +/tools/php-cs-fixer/composer.json +/tools/php-cs-fixer/composer.lock +/sqls/ diff --git a/.php-cs-fixer.php b/.php-cs-fixer.php new file mode 100644 index 00000000..dec9c294 --- /dev/null +++ b/.php-cs-fixer.php @@ -0,0 +1,17 @@ +in(__DIR__ . '/src'); + +$config = new PhpCsFixer\Config(); + +return $config->setRules( + [ + '@Symfony' => true, + 'yoda_style' => true, + 'class_attributes_separation' => [ + 'elements' => ['method' => 'one', 'property' => 'one', 'trait_import' => 'one'] + ] + ] +) + ->setFinder($finder); diff --git a/.php-version b/.php-version new file mode 100644 index 00000000..0dc0f32d --- /dev/null +++ b/.php-version @@ -0,0 +1 @@ +8.2 \ No newline at end of file diff --git a/assets/js/app.js b/assets/app.js old mode 100755 new mode 100644 similarity index 50% rename from assets/js/app.js rename to assets/app.js index 00a79bc8..0e2836a2 --- a/assets/js/app.js +++ b/assets/app.js @@ -1,3 +1,17 @@ +/* + * Welcome to your app's main JavaScript file! + * + * We recommend including the built version of this JavaScript file + * (and its CSS file) in your base layout (base.html.twig). + */ + +// any CSS you import will output into a single css file (app.css in this case) +import './styles/app.css'; + +// start the Stimulus application +import './bootstrap'; + + /* * Welcome to your app's main JavaScript file! * @@ -6,12 +20,12 @@ */ // any CSS you require will output into a single css file (app.css in this case) -require('../css/app.css'); -require('../css/igles.css'); +require('./styles/app.css'); +require('./css/igles.css'); // require('../css/igle.scss'); -require('../css/foundation-icons/foundation-icons.css'); -require('../css/stream.css'); -require('../css/styles.css'); +require('./css/foundation-icons/foundation-icons.css'); +require('./css/stream.css'); +require('./css/styles.css'); // require('../fonts/univers/font.css'); diff --git a/assets/bootstrap.js b/assets/bootstrap.js new file mode 100644 index 00000000..03ef49e7 --- /dev/null +++ b/assets/bootstrap.js @@ -0,0 +1,12 @@ +// import { startStimulusApp } from '@symfony/stimulus-bridge'; +import { Controller } from '@hotwired/stimulus'; + +// Registers Stimulus controllers from controllers.json and in the controllers/ directory +export const app = Controller(require.context( + '@symfony/stimulus-bridge/lazy-controller-loader!./controllers', + true, + /\.[jt]sx?$/ +)); + +// register any custom, 3rd party controllers here +// app.register('some_controller_name', SomeImportedController); diff --git a/assets/controllers.json b/assets/controllers.json new file mode 100644 index 00000000..29ea244b --- /dev/null +++ b/assets/controllers.json @@ -0,0 +1,15 @@ +{ + "controllers": { + "@symfony/ux-turbo": { + "turbo-core": { + "enabled": true, + "fetch": "eager" + }, + "mercure-turbo-stream": { + "enabled": false, + "fetch": "eager" + } + } + }, + "entrypoints": [] +} diff --git a/assets/controllers/hello_controller.js b/assets/controllers/hello_controller.js new file mode 100644 index 00000000..e847027b --- /dev/null +++ b/assets/controllers/hello_controller.js @@ -0,0 +1,16 @@ +import { Controller } from '@hotwired/stimulus'; + +/* + * This is an example Stimulus controller! + * + * Any element with a data-controller="hello" attribute will cause + * this controller to be executed. The name "hello" comes from the filename: + * hello_controller.js -> "hello" + * + * Delete this file or adapt it for your use! + */ +export default class extends Controller { + connect() { + this.element.textContent = 'Hello Stimulus! Edit me in assets/controllers/hello_controller.js'; + } +} diff --git a/assets/js/select2-parent.js b/assets/js/select2-parent.js index 18c313dc..ce0d425d 100644 --- a/assets/js/select2-parent.js +++ b/assets/js/select2-parent.js @@ -1,7 +1,7 @@ -require('../css/app.css'); +require('../styles/app.css'); const $ = require('jquery'); console.log('Select2 Parent'); -require('select2') -require('select2/dist/css/select2.css') -$('.select2-enable').select2({ width: '100%', placeholder: "Seleccione un item", allowClear: true }) +require('select2'); +require('select2/dist/css/select2.css'); +$('.select2-enable').select2({ width: '100%', placeholder: "Seleccione un item", allowClear: true }); diff --git a/assets/css/app.css b/assets/styles/app.css old mode 100755 new mode 100644 similarity index 100% rename from assets/css/app.css rename to assets/styles/app.css diff --git a/bin/console b/bin/console index 5de0e1c5..c933dc53 100755 --- a/bin/console +++ b/bin/console @@ -3,40 +3,15 @@ use App\Kernel; use Symfony\Bundle\FrameworkBundle\Console\Application; -use Symfony\Component\Console\Input\ArgvInput; -use Symfony\Component\ErrorHandler\Debug; -if (!in_array(PHP_SAPI, ['cli', 'phpdbg', 'embed'], true)) { - echo 'Warning: The console should be invoked via the CLI version of PHP, not the '.PHP_SAPI.' SAPI'.PHP_EOL; +if (!is_file(dirname(__DIR__).'/vendor/autoload_runtime.php')) { + throw new LogicException('Symfony Runtime is missing. Try running "composer require symfony/runtime".'); } -set_time_limit(0); +require_once dirname(__DIR__).'/vendor/autoload_runtime.php'; -require dirname(__DIR__).'/vendor/autoload.php'; +return function (array $context) { + $kernel = new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']); -if (!class_exists(Application::class)) { - throw new LogicException('You need to add "symfony/framework-bundle" as a Composer dependency.'); -} - -$input = new ArgvInput(); -if (null !== $env = $input->getParameterOption(['--env', '-e'], null, true)) { - putenv('APP_ENV='.$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = $env); -} - -if ($input->hasParameterOption('--no-debug', true)) { - putenv('APP_DEBUG='.$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = '0'); -} - -require dirname(__DIR__).'/config/bootstrap.php'; - -if ($_SERVER['APP_DEBUG']) { - umask(0000); - - if (class_exists(Debug::class)) { - Debug::enable(); - } -} - -$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']); -$application = new Application($kernel); -$application->run($input); + return new Application($kernel); +}; diff --git a/bin/phpunit b/bin/phpunit index 4d1ed05d..692baccb 100755 --- a/bin/phpunit +++ b/bin/phpunit @@ -1,13 +1,23 @@ #!/usr/bin/env php = 80000) { + require dirname(__DIR__).'/vendor/phpunit/phpunit/phpunit'; + } else { + define('PHPUNIT_COMPOSER_INSTALL', dirname(__DIR__).'/vendor/autoload.php'); + require PHPUNIT_COMPOSER_INSTALL; + PHPUnit\TextUI\Command::main(); + } +} else { + if (!is_file(dirname(__DIR__).'/vendor/symfony/phpunit-bridge/bin/simple-phpunit.php')) { + echo "Unable to find the `simple-phpunit.php` script in `vendor/symfony/phpunit-bridge/bin/`.\n"; + exit(1); + } -require dirname(__DIR__).'/vendor/symfony/phpunit-bridge/bin/simple-phpunit.php'; + require dirname(__DIR__).'/vendor/symfony/phpunit-bridge/bin/simple-phpunit.php'; +} diff --git a/composer.json b/composer.json index 0c4a757f..c19a8df5 100755 --- a/composer.json +++ b/composer.json @@ -2,64 +2,62 @@ "type": "project", "license": "MIT", "name": "germdz/alamedacms", - "description": "CMS Sencillo con reservas por email, y manejo de usuarios", + "description": "CMS Sencillo con reservas por email, y manejo de usuarios, bootstrap en CSS", "require": { - "php": "^7.4.0", + "php": "^8.2.0", "ext-ctype": "*", "ext-iconv": "*", "ext-json": "*", - "antishov/doctrine-extensions-bundle": "^1.4", "composer/package-versions-deprecated": "^1.11", "doctrine/annotations": "^1.0", "doctrine/common": "^3.2.1", "doctrine/dbal": "^3.2", "doctrine/doctrine-bundle": "^2.5", - "doctrine/doctrine-migrations-bundle": "^3.0", + "doctrine/doctrine-migrations-bundle": "^3.3", "doctrine/orm": "^2.10", - "endroid/qr-code-bundle": "^3.4", + "endroid/qr-code-bundle": "4.3.*", "erusev/parsedown": "^1.6", - "friendsofsymfony/ckeditor-bundle": "^2.2", + "friendsofsymfony/ckeditor-bundle": "^2.4", "gedmo/doctrine-extensions": "^v3.4.0", - "knplabs/knp-markdown-bundle": "^1.8", "knplabs/knp-paginator-bundle": "^5.2", "knplabs/knp-time-bundle": "^1.11", - "laminas/laminas-code": "^3.4", + "laminas/laminas-code": "^4.7", "laminas/laminas-eventmanager": "^3.2", "liip/imagine-bundle": "^2.7.4", - "oneup/flysystem-bundle": "^3.4", + "oneup/flysystem-bundle": "^4.11.2", "phpdocumentor/reflection-docblock": "^5.2", "phpoffice/phpspreadsheet": "^1.15", "ramsey/uuid-doctrine": "^1.6", - "sensio/framework-extra-bundle": "^6.1", + "stof/doctrine-extensions-bundle": "^1.10.1", "symfony/apache-pack": "^1.0", - "symfony/asset": "^5.4", - "symfony/console": "^5.4", - "symfony/dotenv": "^5.4", - "symfony/expression-language": "^5.4", + "symfony/asset": "6.4.*", + "symfony/console": "6.4.*", + "symfony/dotenv": "6.4.*", + "symfony/expression-language": "6.4.*", "symfony/flex": "^1.17.1", - "symfony/form": "^v5.4.0", - "symfony/framework-bundle": "^v5.4.0", - "symfony/http-client": "5.4.*", - "symfony/intl": "^5.4", - "symfony/mailer": "^5.4", + "symfony/form": "^v6.1.0", + "symfony/framework-bundle": "^v6.1.0", + "symfony/html-sanitizer": "6.4.*", + "symfony/http-client": "6.4.*", + "symfony/intl": "6.4.*", + "symfony/mailer": "6.4.*", "symfony/polyfill-intl-messageformatter": "^1.12", "symfony/polyfill-php72": "^1.15", - "symfony/property-access": "^v5.4.0", - "symfony/property-info": "5.4.*", - "symfony/runtime": "^5.4", - "symfony/security-bundle": "^5.4", - "symfony/serializer": "5.4.*", - "symfony/string": "^5.4", - "symfony/translation": "^5.4", - "symfony/twig-bridge": "^v5.4.0", - "symfony/twig-bundle": "^v5.4.0", + "symfony/property-access": "^v6.1.0", + "symfony/property-info": "6.4.*", + "symfony/runtime": "6.4.*", + "symfony/security-bundle": "6.4.*", + "symfony/serializer": "6.4.*", + "symfony/string": "6.4.*", + "symfony/translation": "6.4.*", + "symfony/twig-bridge": "6.4.*", + "symfony/twig-bundle": "6.4.*", "symfony/ux-turbo": "^2.1", - "symfony/validator": "^5.4", + "symfony/validator": "6.4.*", "symfony/webpack-encore-bundle": "^1.13", - "symfony/yaml": "^5.4", + "symfony/yaml": "6.4.*", "symfonycasts/reset-password-bundle": "^1.17", - "tgalopin/html-sanitizer-bundle": "^1.4", - "twig/cssinliner-extra": "^3.1", + "twig/cssinliner-extra": "^3.7", "twig/extensions": "^1.5", "twig/extra-bundle": "^3.1", "twig/intl-extra": "^3.1", @@ -70,24 +68,27 @@ "require-dev": { "dama/doctrine-test-bundle": "^6.7", "doctrine/doctrine-fixtures-bundle": "^3.4", - "fzaninotto/faker": "^1.9", + "fakerphp/faker": "*", "phpunit/phpunit": "^9.5", - "sensiolabs/security-checker": "^6.0", - "symfony/browser-kit": "^5.4", - "symfony/css-selector": "^5.4", - "symfony/debug-bundle": "^5.4", + "rector/rector": "^0.19.0", + "symfony/browser-kit": "6.4.*", + "symfony/css-selector": "6.4.*", + "symfony/debug-bundle": "6.4.*", "symfony/maker-bundle": "^1.19", "symfony/monolog-bundle": "^3.1", "symfony/phpunit-bridge": "^6.1", - "symfony/stopwatch": "^5.4", + "symfony/stopwatch": "6.4.*", "symfony/var-dumper": "*", - "symfony/web-profiler-bundle": "^5.4" + "symfony/web-profiler-bundle": "6.4.*" }, "config": { "preferred-install": { "*": "dist" }, "sort-packages": true, + "platform": { + "php": "8.2" + }, "allow-plugins": { "endroid/installer": true, "symfony/flex": true, @@ -115,7 +116,8 @@ "scripts": { "auto-scripts": { "cache:clear": "symfony-cmd", - "assets:install %PUBLIC_DIR%": "symfony-cmd" + "assets:install %PUBLIC_DIR%": "symfony-cmd", + "ckeditor:install": "symfony-cmd" }, "post-install-cmd": [ "@auto-scripts" @@ -130,7 +132,7 @@ "extra": { "symfony": { "allow-contrib": true, - "require": "5.4.*" + "require": "6.4.*" } } } diff --git a/composer.lock b/composer.lock index c2c09532..f9590667 100644 --- a/composer.lock +++ b/composer.lock @@ -4,86 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "4fd8f8e9e16907471ba28d8914927b14", + "content-hash": "f51489d42b2c3aa6eaf0a95e327d5425", "packages": [ - { - "name": "antishov/doctrine-extensions-bundle", - "version": "v1.4.3", - "source": { - "type": "git", - "url": "https://github.com/antishov/StofDoctrineExtensionsBundle.git", - "reference": "b036a8d62111c03f237a619b1840c46570f48483" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/antishov/StofDoctrineExtensionsBundle/zipball/b036a8d62111c03f237a619b1840c46570f48483", - "reference": "b036a8d62111c03f237a619b1840c46570f48483", - "shasum": "" - }, - "require": { - "gedmo/doctrine-extensions": "^2.3.4 || ^3.0", - "php": "^7.2.5 || ^8.0", - "symfony/framework-bundle": "^4.4|^5.0", - "symfony/mime": "^4.3|^5.0" - }, - "replace": { - "stof/doctrine-extensions-bundle": "self.version" - }, - "require-dev": { - "symfony/phpunit-bridge": "^4.4|^5.0", - "symfony/security-bundle": "^4.4|^5.0" - }, - "suggest": { - "doctrine/doctrine-bundle": "to use the ORM extensions", - "doctrine/mongodb-odm-bundle": "to use the MongoDB ODM extensions" - }, - "type": "symfony-bundle", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "Stof\\DoctrineExtensionsBundle\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Antishov Viktor", - "email": "antishov.viktor@gmail.com" - }, - { - "name": "Christophe Coevoet", - "email": "stof@notk.org" - } - ], - "description": "Forked from stof/doctrine-extensions-bundle integration of the gedmo/doctrine-extensions with Symfony 4", - "homepage": "https://github.com/antishov/StofDoctrineExtensionsBundle", - "keywords": [ - "behaviors", - "doctrine2", - "extensions", - "gedmo", - "loggable", - "nestedset", - "sluggable", - "sortable", - "stof", - "timestampable", - "translatable", - "tree" - ], - "support": { - "issues": "https://github.com/antishov/StofDoctrineExtensionsBundle/issues", - "source": "https://github.com/antishov/StofDoctrineExtensionsBundle/tree/v1.4.3" - }, - "time": "2020-12-10T20:46:02+00:00" - }, { "name": "bacon/bacon-qr-code", "version": "2.0.8", @@ -189,26 +111,25 @@ }, { "name": "brick/math", - "version": "0.9.3", + "version": "0.11.0", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae" + "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/ca57d18f028f84f777b2168cd1911b0dee2343ae", - "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae", + "url": "https://api.github.com/repos/brick/math/zipball/0ad82ce168c82ba30d1c01ec86116ab52f589478", + "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478", "shasum": "" }, "require": { - "ext-json": "*", - "php": "^7.1 || ^8.0" + "php": "^8.0" }, "require-dev": { "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.0", - "vimeo/psalm": "4.9.2" + "phpunit/phpunit": "^9.0", + "vimeo/psalm": "5.0.0" }, "type": "library", "autoload": { @@ -233,19 +154,15 @@ ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.9.3" + "source": "https://github.com/brick/math/tree/0.11.0" }, "funding": [ { "url": "https://github.com/BenMorel", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/brick/math", - "type": "tidelift" } ], - "time": "2021-08-15T20:50:18+00:00" + "time": "2023-01-15T23:15:59+00:00" }, { "name": "composer/package-versions-deprecated", @@ -322,16 +239,16 @@ }, { "name": "dasprid/enum", - "version": "1.0.4", + "version": "1.0.5", "source": { "type": "git", "url": "https://github.com/DASPRiD/Enum.git", - "reference": "8e6b6ea76eabbf19ea2bf5b67b98e1860474012f" + "reference": "6faf451159fb8ba4126b925ed2d78acfce0dc016" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/8e6b6ea76eabbf19ea2bf5b67b98e1860474012f", - "reference": "8e6b6ea76eabbf19ea2bf5b67b98e1860474012f", + "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/6faf451159fb8ba4126b925ed2d78acfce0dc016", + "reference": "6faf451159fb8ba4126b925ed2d78acfce0dc016", "shasum": "" }, "require": { @@ -366,9 +283,9 @@ ], "support": { "issues": "https://github.com/DASPRiD/Enum/issues", - "source": "https://github.com/DASPRiD/Enum/tree/1.0.4" + "source": "https://github.com/DASPRiD/Enum/tree/1.0.5" }, - "time": "2023-03-01T18:44:03+00:00" + "time": "2023-08-25T16:18:39+00:00" }, { "name": "doctrine/annotations", @@ -541,32 +458,34 @@ }, { "name": "doctrine/collections", - "version": "1.8.0", + "version": "2.1.4", "source": { "type": "git", "url": "https://github.com/doctrine/collections.git", - "reference": "2b44dd4cbca8b5744327de78bafef5945c7e7b5e" + "reference": "72328a11443a0de79967104ad36ba7b30bded134" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/2b44dd4cbca8b5744327de78bafef5945c7e7b5e", - "reference": "2b44dd4cbca8b5744327de78bafef5945c7e7b5e", + "url": "https://api.github.com/repos/doctrine/collections/zipball/72328a11443a0de79967104ad36ba7b30bded134", + "reference": "72328a11443a0de79967104ad36ba7b30bded134", "shasum": "" }, "require": { - "doctrine/deprecations": "^0.5.3 || ^1", - "php": "^7.1.3 || ^8.0" + "doctrine/deprecations": "^1", + "php": "^8.1" }, "require-dev": { - "doctrine/coding-standard": "^9.0 || ^10.0", - "phpstan/phpstan": "^1.4.8", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.1.5", - "vimeo/psalm": "^4.22" + "doctrine/coding-standard": "^12", + "ext-json": "*", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.0", + "phpunit/phpunit": "^9.5", + "vimeo/psalm": "^5.11" }, "type": "library", "autoload": { "psr-4": { - "Doctrine\\Common\\Collections\\": "lib/Doctrine/Common/Collections" + "Doctrine\\Common\\Collections\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -605,9 +524,23 @@ ], "support": { "issues": "https://github.com/doctrine/collections/issues", - "source": "https://github.com/doctrine/collections/tree/1.8.0" + "source": "https://github.com/doctrine/collections/tree/2.1.4" }, - "time": "2022-09-01T20:12:10+00:00" + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcollections", + "type": "tidelift" + } + ], + "time": "2023-10-03T09:22:33+00:00" }, { "name": "doctrine/common", @@ -702,16 +635,16 @@ }, { "name": "doctrine/dbal", - "version": "3.6.1", + "version": "3.7.3", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "57815c7bbcda3cd18871d253c1dd8cbe56f8526e" + "reference": "ce594cbc39a4866c544f1a970d285ff0548221ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/57815c7bbcda3cd18871d253c1dd8cbe56f8526e", - "reference": "57815c7bbcda3cd18871d253c1dd8cbe56f8526e", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/ce594cbc39a4866c544f1a970d285ff0548221ad", + "reference": "ce594cbc39a4866c544f1a970d285ff0548221ad", "shasum": "" }, "require": { @@ -724,16 +657,17 @@ "psr/log": "^1|^2|^3" }, "require-dev": { - "doctrine/coding-standard": "11.1.0", + "doctrine/coding-standard": "12.0.0", "fig/log-test": "^1", - "jetbrains/phpstorm-stubs": "2022.3", - "phpstan/phpstan": "1.10.3", + "jetbrains/phpstorm-stubs": "2023.1", + "phpstan/phpstan": "1.10.56", "phpstan/phpstan-strict-rules": "^1.5", - "phpunit/phpunit": "9.6.4", + "phpunit/phpunit": "9.6.15", "psalm/plugin-phpunit": "0.18.4", - "squizlabs/php_codesniffer": "3.7.2", - "symfony/cache": "^5.4|^6.0", - "symfony/console": "^4.4|^5.4|^6.0", + "slevomat/coding-standard": "8.13.1", + "squizlabs/php_codesniffer": "3.8.1", + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/console": "^4.4|^5.4|^6.0|^7.0", "vimeo/psalm": "4.30.0" }, "suggest": { @@ -794,7 +728,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.6.1" + "source": "https://github.com/doctrine/dbal/tree/3.7.3" }, "funding": [ { @@ -810,29 +744,33 @@ "type": "tidelift" } ], - "time": "2023-03-02T19:26:24+00:00" + "time": "2024-01-21T07:53:09+00:00" }, { "name": "doctrine/deprecations", - "version": "v1.0.0", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de" + "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", - "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931", + "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931", "shasum": "" }, "require": { - "php": "^7.1|^8.0" + "php": "^7.1 || ^8.0" }, "require-dev": { "doctrine/coding-standard": "^9", - "phpunit/phpunit": "^7.5|^8.5|^9.5", - "psr/log": "^1|^2|^3" + "phpstan/phpstan": "1.4.10 || 1.10.15", + "phpstan/phpstan-phpunit": "^1.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "psalm/plugin-phpunit": "0.18.4", + "psr/log": "^1 || ^2 || ^3", + "vimeo/psalm": "4.30.0 || 5.12.0" }, "suggest": { "psr/log": "Allows logging deprecations via PSR-3 logger implementation" @@ -851,62 +789,65 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/v1.0.0" + "source": "https://github.com/doctrine/deprecations/tree/1.1.2" }, - "time": "2022-05-02T15:47:09+00:00" + "time": "2023-09-27T20:04:15+00:00" }, { "name": "doctrine/doctrine-bundle", - "version": "2.9.0", + "version": "2.11.1", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineBundle.git", - "reference": "9819c00c2eea750b99902f244309b824911b72b2" + "reference": "4089f1424b724786c062aea50aae5f773449b94b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/9819c00c2eea750b99902f244309b824911b72b2", - "reference": "9819c00c2eea750b99902f244309b824911b72b2", + "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/4089f1424b724786c062aea50aae5f773449b94b", + "reference": "4089f1424b724786c062aea50aae5f773449b94b", "shasum": "" }, "require": { "doctrine/cache": "^1.11 || ^2.0", - "doctrine/dbal": "^3.6.0", + "doctrine/dbal": "^3.7.0 || ^4.0", "doctrine/persistence": "^2.2 || ^3", "doctrine/sql-formatter": "^1.0.1", "php": "^7.4 || ^8.0", - "symfony/cache": "^5.4 || ^6.0", - "symfony/config": "^5.4 || ^6.0", - "symfony/console": "^5.4 || ^6.0", - "symfony/dependency-injection": "^5.4 || ^6.0", + "symfony/cache": "^5.4 || ^6.0 || ^7.0", + "symfony/config": "^5.4 || ^6.0 || ^7.0", + "symfony/console": "^5.4 || ^6.0 || ^7.0", + "symfony/dependency-injection": "^5.4 || ^6.0 || ^7.0", "symfony/deprecation-contracts": "^2.1 || ^3", - "symfony/doctrine-bridge": "^5.4.19 || ^6.0.7", - "symfony/framework-bundle": "^5.4 || ^6.0", + "symfony/doctrine-bridge": "^5.4.19 || ^6.0.7 || ^7.0", + "symfony/framework-bundle": "^5.4 || ^6.0 || ^7.0", + "symfony/polyfill-php80": "^1.15", "symfony/service-contracts": "^1.1.1 || ^2.0 || ^3" }, "conflict": { "doctrine/annotations": ">=3.0", - "doctrine/orm": "<2.11 || >=3.0", + "doctrine/orm": "<2.14 || >=4.0", "twig/twig": "<1.34 || >=2.0 <2.4" }, "require-dev": { "doctrine/annotations": "^1 || ^2", - "doctrine/coding-standard": "^9.0", + "doctrine/coding-standard": "^12", "doctrine/deprecations": "^1.0", - "doctrine/orm": "^2.11 || ^3.0", + "doctrine/orm": "^2.14 || ^3.0", "friendsofphp/proxy-manager-lts": "^1.0", "phpunit/phpunit": "^9.5.26 || ^10.0", "psalm/plugin-phpunit": "^0.18.4", "psalm/plugin-symfony": "^4", "psr/log": "^1.1.4 || ^2.0 || ^3.0", - "symfony/phpunit-bridge": "^6.1", - "symfony/property-info": "^5.4 || ^6.0", - "symfony/proxy-manager-bridge": "^5.4 || ^6.0", - "symfony/security-bundle": "^5.4 || ^6.0", - "symfony/twig-bridge": "^5.4 || ^6.0", - "symfony/validator": "^5.4 || ^6.0", - "symfony/web-profiler-bundle": "^5.4 || ^6.0", - "symfony/yaml": "^5.4 || ^6.0", + "symfony/phpunit-bridge": "^6.1 || ^7.0", + "symfony/property-info": "^5.4 || ^6.0 || ^7.0", + "symfony/proxy-manager-bridge": "^5.4 || ^6.0 || ^7.0", + "symfony/security-bundle": "^5.4 || ^6.0 || ^7.0", + "symfony/string": "^5.4 || ^6.0 || ^7.0", + "symfony/twig-bridge": "^5.4 || ^6.0 || ^7.0", + "symfony/validator": "^5.4 || ^6.0 || ^7.0", + "symfony/var-exporter": "^5.4 || ^6.2 || ^7.0", + "symfony/web-profiler-bundle": "^5.4 || ^6.0 || ^7.0", + "symfony/yaml": "^5.4 || ^6.0 || ^7.0", "twig/twig": "^1.34 || ^2.12 || ^3.0", "vimeo/psalm": "^4.30" }, @@ -953,7 +894,7 @@ ], "support": { "issues": "https://github.com/doctrine/DoctrineBundle/issues", - "source": "https://github.com/doctrine/DoctrineBundle/tree/2.9.0" + "source": "https://github.com/doctrine/DoctrineBundle/tree/2.11.1" }, "funding": [ { @@ -969,38 +910,44 @@ "type": "tidelift" } ], - "time": "2023-03-23T20:02:57+00:00" + "time": "2023-11-15T20:01:50+00:00" }, { "name": "doctrine/doctrine-migrations-bundle", - "version": "3.2.2", + "version": "3.3.0", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineMigrationsBundle.git", - "reference": "3393f411ba25ade21969c33f2053220044854d01" + "reference": "1dd42906a5fb9c5960723e2ebb45c68006493835" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/3393f411ba25ade21969c33f2053220044854d01", - "reference": "3393f411ba25ade21969c33f2053220044854d01", + "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/1dd42906a5fb9c5960723e2ebb45c68006493835", + "reference": "1dd42906a5fb9c5960723e2ebb45c68006493835", "shasum": "" }, "require": { - "doctrine/doctrine-bundle": "~1.0|~2.0", + "doctrine/doctrine-bundle": "^2.4", "doctrine/migrations": "^3.2", "php": "^7.2|^8.0", - "symfony/framework-bundle": "~3.4|~4.0|~5.0|~6.0" + "symfony/deprecation-contracts": "^2.1 || ^3", + "symfony/framework-bundle": "^5.4 || ^6.0 || ^7.0" }, "require-dev": { - "doctrine/coding-standard": "^8.0", - "doctrine/orm": "^2.6", - "doctrine/persistence": "^1.3||^2.0", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-deprecation-rules": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpstan/phpstan-strict-rules": "^0.12", - "phpunit/phpunit": "^8.0|^9.0", - "vimeo/psalm": "^4.11" + "doctrine/coding-standard": "^12", + "doctrine/orm": "^2.6 || ^3", + "doctrine/persistence": "^2.0 || ^3 ", + "phpstan/phpstan": "^1.4", + "phpstan/phpstan-deprecation-rules": "^1", + "phpstan/phpstan-phpunit": "^1", + "phpstan/phpstan-strict-rules": "^1.1", + "phpstan/phpstan-symfony": "^1.3", + "phpunit/phpunit": "^8.5|^9.5", + "psalm/plugin-phpunit": "^0.18.4", + "psalm/plugin-symfony": "^3 || ^5", + "symfony/phpunit-bridge": "^6.3 || ^7", + "symfony/var-exporter": "^5.4 || ^6 || ^7", + "vimeo/psalm": "^4.30 || ^5.15" }, "type": "symfony-bundle", "autoload": { @@ -1038,7 +985,7 @@ ], "support": { "issues": "https://github.com/doctrine/DoctrineMigrationsBundle/issues", - "source": "https://github.com/doctrine/DoctrineMigrationsBundle/tree/3.2.2" + "source": "https://github.com/doctrine/DoctrineMigrationsBundle/tree/3.3.0" }, "funding": [ { @@ -1054,34 +1001,33 @@ "type": "tidelift" } ], - "time": "2022-02-01T18:08:07+00:00" + "time": "2023-11-13T19:44:41+00:00" }, { "name": "doctrine/event-manager", - "version": "1.2.0", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/doctrine/event-manager.git", - "reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520" + "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/95aa4cb529f1e96576f3fda9f5705ada4056a520", - "reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/750671534e0241a7c50ea5b43f67e23eb5c96f32", + "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32", "shasum": "" }, "require": { - "doctrine/deprecations": "^0.5.3 || ^1", - "php": "^7.1 || ^8.0" + "php": "^8.1" }, "conflict": { "doctrine/common": "<2.9" }, "require-dev": { - "doctrine/coding-standard": "^9 || ^10", - "phpstan/phpstan": "~1.4.10 || ^1.8.8", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "vimeo/psalm": "^4.24" + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.8.8", + "phpunit/phpunit": "^9.5", + "vimeo/psalm": "^4.28" }, "type": "library", "autoload": { @@ -1130,7 +1076,7 @@ ], "support": { "issues": "https://github.com/doctrine/event-manager/issues", - "source": "https://github.com/doctrine/event-manager/tree/1.2.0" + "source": "https://github.com/doctrine/event-manager/tree/2.0.0" }, "funding": [ { @@ -1146,32 +1092,32 @@ "type": "tidelift" } ], - "time": "2022-10-12T20:51:15+00:00" + "time": "2022-10-12T20:59:15+00:00" }, { "name": "doctrine/inflector", - "version": "2.0.6", + "version": "2.0.9", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024" + "reference": "2930cd5ef353871c821d5c43ed030d39ac8cfe65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/d9d313a36c872fd6ee06d9a6cbcf713eaa40f024", - "reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/2930cd5ef353871c821d5c43ed030d39ac8cfe65", + "reference": "2930cd5ef353871c821d5c43ed030d39ac8cfe65", "shasum": "" }, "require": { "php": "^7.2 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^10", + "doctrine/coding-standard": "^11.0", "phpstan/phpstan": "^1.8", "phpstan/phpstan-phpunit": "^1.1", "phpstan/phpstan-strict-rules": "^1.3", "phpunit/phpunit": "^8.5 || ^9.5", - "vimeo/psalm": "^4.25" + "vimeo/psalm": "^4.25 || ^5.4" }, "type": "library", "autoload": { @@ -1221,7 +1167,7 @@ ], "support": { "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/2.0.6" + "source": "https://github.com/doctrine/inflector/tree/2.0.9" }, "funding": [ { @@ -1237,34 +1183,34 @@ "type": "tidelift" } ], - "time": "2022-10-20T09:10:12+00:00" + "time": "2024-01-15T18:05:13+00:00" }, { "name": "doctrine/instantiator", - "version": "1.5.0", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b" + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b", - "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": "^8.1" }, "require-dev": { - "doctrine/coding-standard": "^9 || ^11", + "doctrine/coding-standard": "^11", "ext-pdo": "*", "ext-phar": "*", - "phpbench/phpbench": "^0.16 || ^1", - "phpstan/phpstan": "^1.4", - "phpstan/phpstan-phpunit": "^1", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "vimeo/psalm": "^4.30 || ^5.4" + "phpbench/phpbench": "^1.2", + "phpstan/phpstan": "^1.9.4", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^9.5.27", + "vimeo/psalm": "^5.4" }, "type": "library", "autoload": { @@ -1291,7 +1237,7 @@ ], "support": { "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/1.5.0" + "source": "https://github.com/doctrine/instantiator/tree/2.0.0" }, "funding": [ { @@ -1307,7 +1253,7 @@ "type": "tidelift" } ], - "time": "2022-12-30T00:15:36+00:00" + "time": "2022-12-30T00:23:10+00:00" }, { "name": "doctrine/lexer", @@ -1389,47 +1335,47 @@ }, { "name": "doctrine/migrations", - "version": "3.5.5", + "version": "3.7.2", "source": { "type": "git", "url": "https://github.com/doctrine/migrations.git", - "reference": "4b1e2b6ba71d21d0c5be22ed03b6fc954d20b204" + "reference": "47af29eef49f29ebee545947e8b2a4b3be318c8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/migrations/zipball/4b1e2b6ba71d21d0c5be22ed03b6fc954d20b204", - "reference": "4b1e2b6ba71d21d0c5be22ed03b6fc954d20b204", + "url": "https://api.github.com/repos/doctrine/migrations/zipball/47af29eef49f29ebee545947e8b2a4b3be318c8a", + "reference": "47af29eef49f29ebee545947e8b2a4b3be318c8a", "shasum": "" }, "require": { "composer-runtime-api": "^2", - "doctrine/dbal": "^3.5.1", + "doctrine/dbal": "^3.5.1 || ^4", "doctrine/deprecations": "^0.5.3 || ^1", "doctrine/event-manager": "^1.2 || ^2.0", - "friendsofphp/proxy-manager-lts": "^1.0", - "php": "^7.4 || ^8.0", + "php": "^8.1", "psr/log": "^1.1.3 || ^2 || ^3", - "symfony/console": "^4.4.16 || ^5.4 || ^6.0", - "symfony/stopwatch": "^4.4 || ^5.4 || ^6.0" + "symfony/console": "^5.4 || ^6.0 || ^7.0", + "symfony/stopwatch": "^5.4 || ^6.0 || ^7.0", + "symfony/var-exporter": "^6.2 || ^7.0" }, "conflict": { - "doctrine/orm": "<2.12" + "doctrine/orm": "<2.12 || >=4" }, "require-dev": { - "doctrine/coding-standard": "^9", - "doctrine/orm": "^2.13", + "doctrine/coding-standard": "^12", + "doctrine/orm": "^2.13 || ^3", "doctrine/persistence": "^2 || ^3", "doctrine/sql-formatter": "^1.0", "ext-pdo_sqlite": "*", - "phpstan/phpstan": "^1.5", - "phpstan/phpstan-deprecation-rules": "^1", - "phpstan/phpstan-phpunit": "^1.1", - "phpstan/phpstan-strict-rules": "^1.1", - "phpstan/phpstan-symfony": "^1.1", - "phpunit/phpunit": "^9.5", - "symfony/cache": "^4.4 || ^5.4 || ^6.0", - "symfony/process": "^4.4 || ^5.4 || ^6.0", - "symfony/yaml": "^4.4 || ^5.4 || ^6.0" + "phpstan/phpstan": "^1.10", + "phpstan/phpstan-deprecation-rules": "^1.1", + "phpstan/phpstan-phpunit": "^1.3", + "phpstan/phpstan-strict-rules": "^1.4", + "phpstan/phpstan-symfony": "^1.3", + "phpunit/phpunit": "^10.3", + "symfony/cache": "^5.4 || ^6.0 || ^7.0", + "symfony/process": "^5.4 || ^6.0 || ^7.0", + "symfony/yaml": "^5.4 || ^6.0 || ^7.0" }, "suggest": { "doctrine/sql-formatter": "Allows to generate formatted SQL with the diff command.", @@ -1471,7 +1417,7 @@ ], "support": { "issues": "https://github.com/doctrine/migrations/issues", - "source": "https://github.com/doctrine/migrations/tree/3.5.5" + "source": "https://github.com/doctrine/migrations/tree/3.7.2" }, "funding": [ { @@ -1487,38 +1433,38 @@ "type": "tidelift" } ], - "time": "2023-01-18T12:44:30+00:00" + "time": "2023-12-05T11:35:05+00:00" }, { "name": "doctrine/orm", - "version": "2.14.1", + "version": "2.17.3", "source": { "type": "git", "url": "https://github.com/doctrine/orm.git", - "reference": "de7eee5ed7b1b35c99b118f26f210a8281e6db8e" + "reference": "398ab0547aaf90bdb352b560a94c24f44ff00670" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/orm/zipball/de7eee5ed7b1b35c99b118f26f210a8281e6db8e", - "reference": "de7eee5ed7b1b35c99b118f26f210a8281e6db8e", + "url": "https://api.github.com/repos/doctrine/orm/zipball/398ab0547aaf90bdb352b560a94c24f44ff00670", + "reference": "398ab0547aaf90bdb352b560a94c24f44ff00670", "shasum": "" }, "require": { "composer-runtime-api": "^2", "doctrine/cache": "^1.12.1 || ^2.1.1", - "doctrine/collections": "^1.5 || ^2.0", + "doctrine/collections": "^1.5 || ^2.1", "doctrine/common": "^3.0.3", "doctrine/dbal": "^2.13.1 || ^3.2", "doctrine/deprecations": "^0.5.3 || ^1", "doctrine/event-manager": "^1.2 || ^2", "doctrine/inflector": "^1.4 || ^2.0", - "doctrine/instantiator": "^1.3", - "doctrine/lexer": "^1.2.3 || ^2", + "doctrine/instantiator": "^1.3 || ^2", + "doctrine/lexer": "^2", "doctrine/persistence": "^2.4 || ^3", "ext-ctype": "*", "php": "^7.1 || ^8.0", "psr/cache": "^1 || ^2 || ^3", - "symfony/console": "^4.2 || ^5.0 || ^6.0", + "symfony/console": "^4.2 || ^5.0 || ^6.0 || ^7.0", "symfony/polyfill-php72": "^1.23", "symfony/polyfill-php80": "^1.16" }, @@ -1527,16 +1473,16 @@ }, "require-dev": { "doctrine/annotations": "^1.13 || ^2", - "doctrine/coding-standard": "^9.0.2 || ^11.0", + "doctrine/coding-standard": "^9.0.2 || ^12.0", "phpbench/phpbench": "^0.16.10 || ^1.0", - "phpstan/phpstan": "~1.4.10 || 1.9.8", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "phpstan/phpstan": "~1.4.10 || 1.10.35", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6", "psr/log": "^1 || ^2 || ^3", - "squizlabs/php_codesniffer": "3.7.1", - "symfony/cache": "^4.4 || ^5.4 || ^6.0", - "symfony/var-exporter": "^4.4 || ^5.4 || ^6.2", - "symfony/yaml": "^3.4 || ^4.0 || ^5.0 || ^6.0", - "vimeo/psalm": "4.30.0 || 5.4.0" + "squizlabs/php_codesniffer": "3.7.2", + "symfony/cache": "^4.4 || ^5.4 || ^6.4 || ^7.0", + "symfony/var-exporter": "^4.4 || ^5.4 || ^6.2 || ^7.0", + "symfony/yaml": "^3.4 || ^4.0 || ^5.0 || ^6.0 || ^7.0", + "vimeo/psalm": "4.30.0 || 5.16.0" }, "suggest": { "ext-dom": "Provides support for XSD validation for XML mapping files", @@ -1586,22 +1532,22 @@ ], "support": { "issues": "https://github.com/doctrine/orm/issues", - "source": "https://github.com/doctrine/orm/tree/2.14.1" + "source": "https://github.com/doctrine/orm/tree/2.17.3" }, - "time": "2023-01-16T18:36:59+00:00" + "time": "2024-01-16T21:32:04+00:00" }, { "name": "doctrine/persistence", - "version": "3.1.4", + "version": "3.2.0", "source": { "type": "git", "url": "https://github.com/doctrine/persistence.git", - "reference": "8bf8ab15960787f1a49d405f6eb8c787b4841119" + "reference": "63fee8c33bef740db6730eb2a750cd3da6495603" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/persistence/zipball/8bf8ab15960787f1a49d405f6eb8c787b4841119", - "reference": "8bf8ab15960787f1a49d405f6eb8c787b4841119", + "url": "https://api.github.com/repos/doctrine/persistence/zipball/63fee8c33bef740db6730eb2a750cd3da6495603", + "reference": "63fee8c33bef740db6730eb2a750cd3da6495603", "shasum": "" }, "require": { @@ -1670,7 +1616,7 @@ ], "support": { "issues": "https://github.com/doctrine/persistence/issues", - "source": "https://github.com/doctrine/persistence/tree/3.1.4" + "source": "https://github.com/doctrine/persistence/tree/3.2.0" }, "funding": [ { @@ -1686,7 +1632,7 @@ "type": "tidelift" } ], - "time": "2023-02-03T11:13:07+00:00" + "time": "2023-05-17T18:32:04+00:00" }, { "name": "doctrine/sql-formatter", @@ -1742,26 +1688,26 @@ }, { "name": "egulias/email-validator", - "version": "3.2.5", + "version": "4.0.2", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "b531a2311709443320c786feb4519cfaf94af796" + "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/b531a2311709443320c786feb4519cfaf94af796", - "reference": "b531a2311709443320c786feb4519cfaf94af796", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ebaaf5be6c0286928352e054f2d5125608e5405e", + "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e", "shasum": "" }, "require": { - "doctrine/lexer": "^1.2|^2", - "php": ">=7.2", - "symfony/polyfill-intl-idn": "^1.15" + "doctrine/lexer": "^2.0 || ^3.0", + "php": ">=8.1", + "symfony/polyfill-intl-idn": "^1.26" }, "require-dev": { - "phpunit/phpunit": "^8.5.8|^9.3.3", - "vimeo/psalm": "^4" + "phpunit/phpunit": "^10.2", + "vimeo/psalm": "^5.12" }, "suggest": { "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" @@ -1769,7 +1715,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "4.0.x-dev" } }, "autoload": { @@ -1797,7 +1743,7 @@ ], "support": { "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/3.2.5" + "source": "https://github.com/egulias/EmailValidator/tree/4.0.2" }, "funding": [ { @@ -1805,29 +1751,29 @@ "type": "github" } ], - "time": "2023-01-02T17:26:14+00:00" + "time": "2023-10-06T06:47:41+00:00" }, { "name": "endroid/installer", - "version": "1.4.0", + "version": "1.4.5", "source": { "type": "git", "url": "https://github.com/endroid/installer.git", - "reference": "7af9f7fdbe6dcbf65b1d3439932ac45a98d229b4" + "reference": "308051404c8370b9641cd61d86a464f2c6938265" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/endroid/installer/zipball/7af9f7fdbe6dcbf65b1d3439932ac45a98d229b4", - "reference": "7af9f7fdbe6dcbf65b1d3439932ac45a98d229b4", + "url": "https://api.github.com/repos/endroid/installer/zipball/308051404c8370b9641cd61d86a464f2c6938265", + "reference": "308051404c8370b9641cd61d86a464f2c6938265", "shasum": "" }, "require": { - "composer-plugin-api": "^1.1||^2.0", - "php": "^7.4||^8.0" + "composer-plugin-api": "^2.0", + "php": "^8.1" }, "require-dev": { "composer/composer": "^2.0", - "endroid/quality": "dev-master" + "endroid/quality": "dev-main" }, "suggest": { "roave/security-advisories": "Avoids installation of package versions with vulnerabilities" @@ -1857,7 +1803,7 @@ "description": "Composer plugin for installing configuration files", "support": { "issues": "https://github.com/endroid/installer/issues", - "source": "https://github.com/endroid/installer/tree/1.4.0" + "source": "https://github.com/endroid/installer/tree/1.4.5" }, "funding": [ { @@ -1865,44 +1811,45 @@ "type": "github" } ], - "time": "2021-10-30T23:14:36+00:00" + "time": "2023-11-07T12:11:36+00:00" }, { "name": "endroid/qr-code", - "version": "3.9.7", + "version": "4.8.5", "source": { "type": "git", "url": "https://github.com/endroid/qr-code.git", - "reference": "94563d7b3105288e6ac53a67ae720e3669fac1f6" + "reference": "0db25b506a8411a5e1644ebaa67123a6eb7b6a77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/endroid/qr-code/zipball/94563d7b3105288e6ac53a67ae720e3669fac1f6", - "reference": "94563d7b3105288e6ac53a67ae720e3669fac1f6", + "url": "https://api.github.com/repos/endroid/qr-code/zipball/0db25b506a8411a5e1644ebaa67123a6eb7b6a77", + "reference": "0db25b506a8411a5e1644ebaa67123a6eb7b6a77", "shasum": "" }, "require": { - "bacon/bacon-qr-code": "^2.0", - "khanamiryan/qrcode-detector-decoder": "^1.0.5", - "myclabs/php-enum": "^1.5", - "php": "^7.3||^8.0", - "symfony/options-resolver": "^3.4||^4.4||^5.0", - "symfony/property-access": "^3.4||^4.4||^5.0" + "bacon/bacon-qr-code": "^2.0.5", + "php": "^8.1" + }, + "conflict": { + "khanamiryan/qrcode-detector-decoder": "^1.0.6" }, "require-dev": { - "endroid/quality": "^1.5.2", - "setasign/fpdf": "^1.8" + "endroid/quality": "dev-master", + "ext-gd": "*", + "khanamiryan/qrcode-detector-decoder": "^1.0.4||^2.0.2", + "setasign/fpdf": "^1.8.2" }, "suggest": { - "ext-gd": "Required for generating PNG images", - "roave/security-advisories": "Avoids installation of package versions with vulnerabilities", - "setasign/fpdf": "Required to use the FPDF writer.", - "symfony/security-checker": "Checks your composer.lock for vulnerabilities" + "ext-gd": "Enables you to write PNG images", + "khanamiryan/qrcode-detector-decoder": "Enables you to use the image validator", + "roave/security-advisories": "Makes sure package versions with known security issues are not installed", + "setasign/fpdf": "Enables you to use the PDF writer" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.x-dev" + "dev-master": "4.x-dev" } }, "autoload": { @@ -1923,7 +1870,6 @@ "description": "Endroid QR Code", "homepage": "https://github.com/endroid/qr-code", "keywords": [ - "bundle", "code", "endroid", "php", @@ -1932,7 +1878,7 @@ ], "support": { "issues": "https://github.com/endroid/qr-code/issues", - "source": "https://github.com/endroid/qr-code/tree/3.9.7" + "source": "https://github.com/endroid/qr-code/tree/4.8.5" }, "funding": [ { @@ -1940,41 +1886,40 @@ "type": "github" } ], - "time": "2021-04-20T19:10:54+00:00" + "time": "2023-09-29T14:03:20+00:00" }, { "name": "endroid/qr-code-bundle", - "version": "3.4.3", + "version": "4.3.3", "source": { "type": "git", "url": "https://github.com/endroid/qr-code-bundle.git", - "reference": "36d7e61e02d84c92702138cc1c6dac5a0565a5ff" + "reference": "0d2471e81dbb2e6a527273bfb68d361a4b75d52a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/endroid/qr-code-bundle/zipball/36d7e61e02d84c92702138cc1c6dac5a0565a5ff", - "reference": "36d7e61e02d84c92702138cc1c6dac5a0565a5ff", + "url": "https://api.github.com/repos/endroid/qr-code-bundle/zipball/0d2471e81dbb2e6a527273bfb68d361a4b75d52a", + "reference": "0d2471e81dbb2e6a527273bfb68d361a4b75d52a", "shasum": "" }, "require": { "endroid/installer": "^1.2.2", - "endroid/qr-code": "^3.7.8", - "php": ">=7.2", - "symfony/framework-bundle": "^3.4||^4.4||^5.0", - "symfony/twig-bundle": "^3.4||^4.4||^5.0", - "symfony/yaml": "^3.4||^4.4||^5.0" + "endroid/qr-code": "^4.8.4", + "php": "^8.1", + "symfony/framework-bundle": "^5.4||^6.0", + "symfony/twig-bundle": "^5.4||^6.0", + "symfony/yaml": "^5.4||^6.0" }, "require-dev": { "endroid/quality": "dev-master" }, "suggest": { - "roave/security-advisories": "Avoids installation of package versions with vulnerabilities", - "symfony/security-checker": "Checks your composer.lock for vulnerabilities" + "roave/security-advisories": "Avoids installation of package versions with vulnerabilities" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "3.x-dev" + "dev-master": "4.x-dev" } }, "autoload": { @@ -2004,7 +1949,7 @@ ], "support": { "issues": "https://github.com/endroid/qr-code-bundle/issues", - "source": "https://github.com/endroid/qr-code-bundle/tree/3.4.3" + "source": "https://github.com/endroid/qr-code-bundle/tree/4.3.3" }, "funding": [ { @@ -2012,7 +1957,7 @@ "type": "github" } ], - "time": "2020-04-25T13:48:19+00:00" + "time": "2023-08-28T18:13:42+00:00" }, { "name": "erusev/parsedown", @@ -2066,20 +2011,20 @@ }, { "name": "ezyang/htmlpurifier", - "version": "v4.16.0", + "version": "v4.17.0", "source": { "type": "git", "url": "https://github.com/ezyang/htmlpurifier.git", - "reference": "523407fb06eb9e5f3d59889b3978d5bfe94299c8" + "reference": "bbc513d79acf6691fa9cf10f192c90dd2957f18c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/523407fb06eb9e5f3d59889b3978d5bfe94299c8", - "reference": "523407fb06eb9e5f3d59889b3978d5bfe94299c8", + "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/bbc513d79acf6691fa9cf10f192c90dd2957f18c", + "reference": "bbc513d79acf6691fa9cf10f192c90dd2957f18c", "shasum": "" }, "require": { - "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0" + "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0" }, "require-dev": { "cerdic/css-tidy": "^1.7 || ^2.0", @@ -2121,91 +2066,9 @@ ], "support": { "issues": "https://github.com/ezyang/htmlpurifier/issues", - "source": "https://github.com/ezyang/htmlpurifier/tree/v4.16.0" - }, - "time": "2022-09-18T07:06:19+00:00" - }, - { - "name": "friendsofphp/proxy-manager-lts", - "version": "v1.0.1", - "source": { - "type": "git", - "url": "https://github.com/FriendsOfPHP/proxy-manager-lts.git", - "reference": "aa76978a8feaf7ddffaf346ba4f409efbfe5f9a9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/proxy-manager-lts/zipball/aa76978a8feaf7ddffaf346ba4f409efbfe5f9a9", - "reference": "aa76978a8feaf7ddffaf346ba4f409efbfe5f9a9", - "shasum": "" - }, - "require": { - "laminas/laminas-code": "^3.4.1|^4.0", - "php": ">=7.1", - "symfony/filesystem": "^4.4.17|^5.0" - }, - "conflict": { - "laminas/laminas-stdlib": "<3.2.1", - "zendframework/zend-stdlib": "<3.2.1" - }, - "replace": { - "ocramius/proxy-manager": "^2.1" - }, - "require-dev": { - "ext-phar": "*", - "symfony/phpunit-bridge": "^5.2" - }, - "type": "library", - "extra": { - "thanks": { - "name": "ocramius/proxy-manager", - "url": "https://github.com/Ocramius/ProxyManager" - } - }, - "autoload": { - "psr-4": { - "ProxyManager\\": "src/ProxyManager" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.io/" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - } - ], - "description": "Adding support for a wider range of PHP versions to ocramius/proxy-manager", - "homepage": "https://github.com/FriendsOfPHP/proxy-manager-lts", - "keywords": [ - "aop", - "lazy loading", - "proxy", - "proxy pattern", - "service proxies" - ], - "support": { - "issues": "https://github.com/FriendsOfPHP/proxy-manager-lts/issues", - "source": "https://github.com/FriendsOfPHP/proxy-manager-lts/tree/v1.0.1" + "source": "https://github.com/ezyang/htmlpurifier/tree/v4.17.0" }, - "funding": [ - { - "url": "https://github.com/Ocramius", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ocramius/proxy-manager", - "type": "tidelift" - } - ], - "time": "2020-12-28T10:50:10+00:00" + "time": "2023-11-17T15:01:25+00:00" }, { "name": "friendsofsymfony/ckeditor-bundle", @@ -2290,62 +2153,61 @@ }, { "name": "gedmo/doctrine-extensions", - "version": "v3.11.1", + "version": "v3.14.0", "source": { "type": "git", "url": "https://github.com/doctrine-extensions/DoctrineExtensions.git", - "reference": "ae4bdf0d567e06b6bb1902a560ee78961b230953" + "reference": "3b5b5cba476b4ae32a55ef69ef2e59d64d5893cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine-extensions/DoctrineExtensions/zipball/ae4bdf0d567e06b6bb1902a560ee78961b230953", - "reference": "ae4bdf0d567e06b6bb1902a560ee78961b230953", + "url": "https://api.github.com/repos/doctrine-extensions/DoctrineExtensions/zipball/3b5b5cba476b4ae32a55ef69ef2e59d64d5893cf", + "reference": "3b5b5cba476b4ae32a55ef69ef2e59d64d5893cf", "shasum": "" }, "require": { - "behat/transliterator": "~1.2", + "behat/transliterator": "^1.2", "doctrine/annotations": "^1.13 || ^2.0", "doctrine/collections": "^1.2 || ^2.0", "doctrine/common": "^2.13 || ^3.0", "doctrine/event-manager": "^1.2 || ^2.0", "doctrine/persistence": "^2.2 || ^3.0", - "php": "^7.2 || ^8.0", + "php": "^7.4 || ^8.0", "psr/cache": "^1 || ^2 || ^3", - "symfony/cache": "^4.4 || ^5.3 || ^6.0", + "symfony/cache": "^5.4 || ^6.0 || ^7.0", "symfony/deprecation-contracts": "^2.1 || ^3.0" }, "conflict": { - "doctrine/cache": "<1.11", - "doctrine/dbal": "<2.13.1 || ^3.0 <3.2", + "doctrine/dbal": "<3.2", "doctrine/mongodb-odm": "<2.3", - "doctrine/orm": "<2.10.2", + "doctrine/orm": "<2.14.0 || 2.16.0 || 2.16.1", "sebastian/comparator": "<2.0" }, "require-dev": { "doctrine/cache": "^1.11 || ^2.0", - "doctrine/dbal": "^2.13.1 || ^3.2", + "doctrine/dbal": "^3.2", "doctrine/doctrine-bundle": "^2.3", "doctrine/mongodb-odm": "^2.3", - "doctrine/orm": "^2.10.2", - "friendsofphp/php-cs-fixer": "^3.4.0,<3.10", - "nesbot/carbon": "^2.55", - "phpstan/phpstan": "^1.9", + "doctrine/orm": "^2.14.0", + "friendsofphp/php-cs-fixer": "^3.14.0", + "nesbot/carbon": "^2.71 || 3.x-dev as 3.0", + "phpstan/phpstan": "^1.10.2", "phpstan/phpstan-doctrine": "^1.0", "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^8.5 || ^9.5", - "symfony/console": "^4.4 || ^5.3 || ^6.0", - "symfony/phpunit-bridge": "^6.0", - "symfony/yaml": "^4.4 || ^5.3 || ^6.0" + "phpunit/phpunit": "^9.6", + "rector/rector": "^0.18", + "symfony/console": "^5.4 || ^6.0 || ^7.0", + "symfony/phpunit-bridge": "^6.0 || ^7.0", + "symfony/yaml": "^5.4 || ^6.0 || ^7.0" }, "suggest": { "doctrine/mongodb-odm": "to use the extensions with the MongoDB ODM", - "doctrine/orm": "to use the extensions with the ORM", - "symfony/cache": "to cache parsed annotations" + "doctrine/orm": "to use the extensions with the ORM" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.12-dev" + "dev-main": "3.13-dev" } }, "autoload": { @@ -2393,23 +2255,41 @@ "support": { "email": "gediminas.morkevicius@gmail.com", "issues": "https://github.com/doctrine-extensions/DoctrineExtensions/issues", - "source": "https://github.com/doctrine-extensions/DoctrineExtensions/tree/v3.11.1", + "source": "https://github.com/doctrine-extensions/DoctrineExtensions/tree/v3.14.0", "wiki": "https://github.com/Atlantic18/DoctrineExtensions/tree/main/doc" }, - "time": "2023-02-20T19:24:07+00:00" + "funding": [ + { + "url": "https://github.com/l3pp4rd", + "type": "github" + }, + { + "url": "https://github.com/mbabker", + "type": "github" + }, + { + "url": "https://github.com/phansys", + "type": "github" + }, + { + "url": "https://github.com/stof", + "type": "github" + } + ], + "time": "2023-12-03T09:10:34+00:00" }, { "name": "imagine/imagine", - "version": "1.3.3", + "version": "1.3.5", "source": { "type": "git", "url": "https://github.com/php-imagine/Imagine.git", - "reference": "a6e6da93ea0f76aba33b0e8ed1325523c0413da2" + "reference": "7151d553edec4dc2bbac60419f7a74ff34700e7f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-imagine/Imagine/zipball/a6e6da93ea0f76aba33b0e8ed1325523c0413da2", - "reference": "a6e6da93ea0f76aba33b0e8ed1325523c0413da2", + "url": "https://api.github.com/repos/php-imagine/Imagine/zipball/7151d553edec4dc2bbac60419f7a74ff34700e7f", + "reference": "7151d553edec4dc2bbac60419f7a74ff34700e7f", "shasum": "" }, "require": { @@ -2456,66 +2336,9 @@ ], "support": { "issues": "https://github.com/php-imagine/Imagine/issues", - "source": "https://github.com/php-imagine/Imagine/tree/1.3.3" - }, - "time": "2022-11-16T13:09:11+00:00" - }, - { - "name": "khanamiryan/qrcode-detector-decoder", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/khanamiryan/php-qrcode-detector-decoder.git", - "reference": "45326fb83a2a375065dbb3a134b5b8a5872da569" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/khanamiryan/php-qrcode-detector-decoder/zipball/45326fb83a2a375065dbb3a134b5b8a5872da569", - "reference": "45326fb83a2a375065dbb3a134b5b8a5872da569", - "shasum": "" + "source": "https://github.com/php-imagine/Imagine/tree/1.3.5" }, - "require": { - "php": ">=5.6" - }, - "require-dev": { - "phpunit/phpunit": "^5.7 | ^7.5 | ^8.0 | ^9.0", - "rector/rector": "^0.13.6", - "symplify/easy-coding-standard": "^11.0" - }, - "type": "library", - "autoload": { - "files": [ - "lib/Common/customFunctions.php" - ], - "psr-4": { - "Zxing\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT", - "Apache-2.0" - ], - "authors": [ - { - "name": "Ashot Khanamiryan", - "email": "a.khanamiryan@gmail.com", - "homepage": "https://github.com/khanamiryan", - "role": "Developer" - } - ], - "description": "QR code decoder / reader", - "homepage": "https://github.com/khanamiryan/php-qrcode-detector-decoder/", - "keywords": [ - "barcode", - "qr", - "zxing" - ], - "support": { - "issues": "https://github.com/khanamiryan/php-qrcode-detector-decoder/issues", - "source": "https://github.com/khanamiryan/php-qrcode-detector-decoder/tree/1.0.6" - }, - "time": "2022-06-29T09:25:13+00:00" + "time": "2023-06-07T14:49:52+00:00" }, { "name": "knplabs/knp-components", @@ -2603,87 +2426,17 @@ "time": "2022-08-18T06:36:14+00:00" }, { - "name": "knplabs/knp-markdown-bundle", - "version": "1.10.0", + "name": "knplabs/knp-paginator-bundle", + "version": "v5.9.0", "source": { "type": "git", - "url": "https://github.com/KnpLabs/KnpMarkdownBundle.git", - "reference": "dc113af8545522c7a57630c6b2fe6e51523f6deb" + "url": "https://github.com/KnpLabs/KnpPaginatorBundle.git", + "reference": "7879916a8af4f4d4668535cb0b71f55cc416da66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/KnpLabs/KnpMarkdownBundle/zipball/dc113af8545522c7a57630c6b2fe6e51523f6deb", - "reference": "dc113af8545522c7a57630c6b2fe6e51523f6deb", - "shasum": "" - }, - "require": { - "michelf/php-markdown": "^1.9", - "php": "^7.4|^8.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/framework-bundle": "^4.4|^5.0|^6.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.2", - "phpstan/phpstan-symfony": "^1.0", - "symfony/phpunit-bridge": "^4.4.11|^5.0|^6.0", - "symfony/templating": "^4.4|^5.0|^6.0" - }, - "suggest": { - "ext-sundown": "to use optional support for php-sundown extension instead of php implementation", - "symfony/twig-bundle": "to use the Twig markdown filter" - }, - "type": "symfony-bundle", - "extra": { - "branch-alias": { - "dev-master": "1.5.x-dev" - } - }, - "autoload": { - "psr-4": { - "Knp\\Bundle\\MarkdownBundle\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "KnpLabs Team", - "homepage": "http://knplabs.com" - }, - { - "name": "Symfony Community", - "homepage": "http://github.com/KnpLabs/KnpMarkdownBundle/contributors" - } - ], - "description": "Knplabs markdown bundle transforms markdown into html", - "homepage": "http://github.com/KnpLabs/KnpMarkdownBundle", - "keywords": [ - "bundle", - "knp", - "knplabs", - "markdown" - ], - "support": { - "issues": "https://github.com/KnpLabs/KnpMarkdownBundle/issues", - "source": "https://github.com/KnpLabs/KnpMarkdownBundle/tree/1.10.0" - }, - "abandoned": "twig/markdown-extra", - "time": "2022-01-26T18:46:39+00:00" - }, - { - "name": "knplabs/knp-paginator-bundle", - "version": "v5.9.0", - "source": { - "type": "git", - "url": "https://github.com/KnpLabs/KnpPaginatorBundle.git", - "reference": "7879916a8af4f4d4668535cb0b71f55cc416da66" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/KnpLabs/KnpPaginatorBundle/zipball/7879916a8af4f4d4668535cb0b71f55cc416da66", - "reference": "7879916a8af4f4d4668535cb0b71f55cc416da66", + "url": "https://api.github.com/repos/KnpLabs/KnpPaginatorBundle/zipball/7879916a8af4f4d4668535cb0b71f55cc416da66", + "reference": "7879916a8af4f4d4668535cb0b71f55cc416da66", "shasum": "" }, "require": { @@ -2821,35 +2574,29 @@ }, { "name": "laminas/laminas-code", - "version": "3.5.1", + "version": "4.13.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-code.git", - "reference": "b549b70c0bb6e935d497f84f750c82653326ac77" + "reference": "7353d4099ad5388e84737dd16994316a04f48dbf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-code/zipball/b549b70c0bb6e935d497f84f750c82653326ac77", - "reference": "b549b70c0bb6e935d497f84f750c82653326ac77", + "url": "https://api.github.com/repos/laminas/laminas-code/zipball/7353d4099ad5388e84737dd16994316a04f48dbf", + "reference": "7353d4099ad5388e84737dd16994316a04f48dbf", "shasum": "" }, "require": { - "laminas/laminas-eventmanager": "^3.3", - "laminas/laminas-zendframework-bridge": "^1.1", - "php": "^7.3 || ~8.0.0" - }, - "conflict": { - "phpspec/prophecy": "<1.9.0" - }, - "replace": { - "zendframework/zend-code": "^3.4.1" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0" }, "require-dev": { - "doctrine/annotations": "^1.10.4", + "doctrine/annotations": "^2.0.1", "ext-phar": "*", - "laminas/laminas-coding-standard": "^1.0.0", - "laminas/laminas-stdlib": "^3.3.0", - "phpunit/phpunit": "^9.4.2" + "laminas/laminas-coding-standard": "^2.5.0", + "laminas/laminas-stdlib": "^3.17.0", + "phpunit/phpunit": "^10.3.3", + "psalm/plugin-phpunit": "^0.18.4", + "vimeo/psalm": "^5.15.0" }, "suggest": { "doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features", @@ -2869,7 +2616,8 @@ "homepage": "https://laminas.dev", "keywords": [ "code", - "laminas" + "laminas", + "laminasframework" ], "support": { "chat": "https://laminas.dev/chat", @@ -2885,36 +2633,37 @@ "type": "community_bridge" } ], - "time": "2020-11-30T20:16:31+00:00" + "time": "2023-10-18T10:00:55+00:00" }, { "name": "laminas/laminas-eventmanager", - "version": "3.5.0", + "version": "3.13.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-eventmanager.git", - "reference": "41f7209428f37cab9573365e361f4078209aaafa" + "reference": "ce5ba8bde378fca5cb0cd514f01823637215b2f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-eventmanager/zipball/41f7209428f37cab9573365e361f4078209aaafa", - "reference": "41f7209428f37cab9573365e361f4078209aaafa", + "url": "https://api.github.com/repos/laminas/laminas-eventmanager/zipball/ce5ba8bde378fca5cb0cd514f01823637215b2f3", + "reference": "ce5ba8bde378fca5cb0cd514f01823637215b2f3", "shasum": "" }, "require": { - "php": "^7.4 || ~8.0.0 || ~8.1.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0" }, "conflict": { "container-interop/container-interop": "<1.2", "zendframework/zend-eventmanager": "*" }, "require-dev": { - "laminas/laminas-coding-standard": "~2.2.1", - "laminas/laminas-stdlib": "^3.6", - "phpbench/phpbench": "^1.1", - "phpspec/prophecy-phpunit": "^2.0", - "phpunit/phpunit": "^9.5.5", - "psr/container": "^1.1.2 || ^2.0.2" + "laminas/laminas-coding-standard": "~2.5.0", + "laminas/laminas-stdlib": "^3.18", + "phpbench/phpbench": "^1.2.15", + "phpunit/phpunit": "^10.5.5", + "psalm/plugin-phpunit": "^0.18.4", + "psr/container": "^1.1.2 || ^2.0.2", + "vimeo/psalm": "^5.18" }, "suggest": { "laminas/laminas-stdlib": "^2.7.3 || ^3.0, to use the FilterChain feature", @@ -2952,120 +2701,122 @@ "type": "community_bridge" } ], - "time": "2022-04-06T21:05:17+00:00" + "time": "2024-01-03T17:43:50+00:00" }, { - "name": "laminas/laminas-zendframework-bridge", - "version": "1.6.1", + "name": "league/flysystem", + "version": "3.23.0", "source": { "type": "git", - "url": "https://github.com/laminas/laminas-zendframework-bridge.git", - "reference": "e112dd2c099f4f6142c16fc65fda89a638e06885" + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "d4ad81e2b67396e33dc9d7e54ec74ccf73151dcc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/e112dd2c099f4f6142c16fc65fda89a638e06885", - "reference": "e112dd2c099f4f6142c16fc65fda89a638e06885", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/d4ad81e2b67396e33dc9d7e54ec74ccf73151dcc", + "reference": "d4ad81e2b67396e33dc9d7e54ec74ccf73151dcc", "shasum": "" }, "require": { - "php": ">=7.4, <8.2" + "league/flysystem-local": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" }, - "require-dev": { - "phpunit/phpunit": "^9.5.14", - "psalm/plugin-phpunit": "^0.15.2", - "squizlabs/php_codesniffer": "^3.6.2", - "vimeo/psalm": "^4.21.0" + "conflict": { + "async-aws/core": "<1.19.0", + "async-aws/s3": "<1.14.0", + "aws/aws-sdk-php": "3.209.31 || 3.210.0", + "guzzlehttp/guzzle": "<7.0", + "guzzlehttp/ringphp": "<1.1.1", + "phpseclib/phpseclib": "3.0.15", + "symfony/http-client": "<5.2" + }, + "require-dev": { + "async-aws/s3": "^1.5 || ^2.0", + "async-aws/simple-s3": "^1.1 || ^2.0", + "aws/aws-sdk-php": "^3.220.0", + "composer/semver": "^3.0", + "ext-fileinfo": "*", + "ext-ftp": "*", + "ext-zip": "*", + "friendsofphp/php-cs-fixer": "^3.5", + "google/cloud-storage": "^1.23", + "microsoft/azure-storage-blob": "^1.1", + "phpseclib/phpseclib": "^3.0.34", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.5.11|^10.0", + "sabre/dav": "^4.3.1" }, "type": "library", - "extra": { - "laminas": { - "module": "Laminas\\ZendFrameworkBridge" - } - }, "autoload": { - "files": [ - "src/autoload.php" - ], "psr-4": { - "Laminas\\ZendFrameworkBridge\\": "src//" + "League\\Flysystem\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } ], - "description": "Alias legacy ZF class names to Laminas Project equivalents.", + "description": "File storage abstraction for PHP", "keywords": [ - "ZendFramework", - "autoloading", - "laminas", - "zf" + "WebDAV", + "aws", + "cloud", + "file", + "files", + "filesystem", + "filesystems", + "ftp", + "s3", + "sftp", + "storage" ], "support": { - "forum": "https://discourse.laminas.dev/", - "issues": "https://github.com/laminas/laminas-zendframework-bridge/issues", - "rss": "https://github.com/laminas/laminas-zendframework-bridge/releases.atom", - "source": "https://github.com/laminas/laminas-zendframework-bridge" + "issues": "https://github.com/thephpleague/flysystem/issues", + "source": "https://github.com/thephpleague/flysystem/tree/3.23.0" }, "funding": [ { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" + "url": "https://ecologi.com/frankdejonge", + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" } ], - "time": "2022-07-29T13:28:29+00:00" + "time": "2023-12-04T10:16:17+00:00" }, { - "name": "league/flysystem", - "version": "1.1.10", + "name": "league/flysystem-local", + "version": "3.23.0", "source": { "type": "git", - "url": "https://github.com/thephpleague/flysystem.git", - "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1" + "url": "https://github.com/thephpleague/flysystem-local.git", + "reference": "5cf046ba5f059460e86a997c504dd781a39a109b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/3239285c825c152bcc315fe0e87d6b55f5972ed1", - "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/5cf046ba5f059460e86a997c504dd781a39a109b", + "reference": "5cf046ba5f059460e86a997c504dd781a39a109b", "shasum": "" }, "require": { "ext-fileinfo": "*", - "league/mime-type-detection": "^1.3", - "php": "^7.2.5 || ^8.0" - }, - "conflict": { - "league/flysystem-sftp": "<1.0.6" - }, - "require-dev": { - "phpspec/prophecy": "^1.11.1", - "phpunit/phpunit": "^8.5.8" - }, - "suggest": { - "ext-ftp": "Allows you to use FTP server storage", - "ext-openssl": "Allows you to use FTPS server storage", - "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", - "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", - "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", - "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", - "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", - "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", - "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", - "league/flysystem-webdav": "Allows you to use WebDAV storage", - "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", - "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", - "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" + "league/flysystem": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, "autoload": { "psr-4": { - "League\\Flysystem\\": "src/" + "League\\Flysystem\\Local\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -3075,63 +2826,55 @@ "authors": [ { "name": "Frank de Jonge", - "email": "info@frenky.net" + "email": "info@frankdejonge.nl" } ], - "description": "Filesystem abstraction: Many filesystems, one API.", + "description": "Local filesystem adapter for Flysystem.", "keywords": [ - "Cloud Files", - "WebDAV", - "abstraction", - "aws", - "cloud", - "copy.com", - "dropbox", - "file systems", + "Flysystem", + "file", "files", "filesystem", - "filesystems", - "ftp", - "rackspace", - "remote", - "s3", - "sftp", - "storage" + "local" ], "support": { - "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/1.1.10" + "issues": "https://github.com/thephpleague/flysystem-local/issues", + "source": "https://github.com/thephpleague/flysystem-local/tree/3.23.0" }, "funding": [ { - "url": "https://offset.earth/frankdejonge", - "type": "other" + "url": "https://ecologi.com/frankdejonge", + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" } ], - "time": "2022-10-04T09:16:37+00:00" + "time": "2023-12-04T10:14:46+00:00" }, { "name": "league/mime-type-detection", - "version": "1.11.0", + "version": "1.14.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd" + "reference": "b6a5854368533df0295c5761a0253656a2e52d9e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ff6248ea87a9f116e78edd6002e39e5128a0d4dd", - "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/b6a5854368533df0295c5761a0253656a2e52d9e", + "reference": "b6a5854368533df0295c5761a0253656a2e52d9e", "shasum": "" }, "require": { "ext-fileinfo": "*", - "php": "^7.2 || ^8.0" + "php": "^7.4 || ^8.0" }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.2", "phpstan/phpstan": "^0.12.68", - "phpunit/phpunit": "^8.5.8 || ^9.3" + "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0" }, "type": "library", "autoload": { @@ -3152,7 +2895,7 @@ "description": "Mime-type detection for Flysystem", "support": { "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.11.0" + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.14.0" }, "funding": [ { @@ -3164,48 +2907,48 @@ "type": "tidelift" } ], - "time": "2022-04-17T13:12:02+00:00" + "time": "2023-10-17T14:13:20+00:00" }, { - "name": "league/uri-parser", - "version": "1.4.1", + "name": "league/uri", + "version": "7.4.0", "source": { "type": "git", - "url": "https://github.com/thephpleague/uri-parser.git", - "reference": "671548427e4c932352d9b9279fdfa345bf63fa00" + "url": "https://github.com/thephpleague/uri.git", + "reference": "bf414ba956d902f5d98bf9385fcf63954f09dce5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri-parser/zipball/671548427e4c932352d9b9279fdfa345bf63fa00", - "reference": "671548427e4c932352d9b9279fdfa345bf63fa00", + "url": "https://api.github.com/repos/thephpleague/uri/zipball/bf414ba956d902f5d98bf9385fcf63954f09dce5", + "reference": "bf414ba956d902f5d98bf9385fcf63954f09dce5", "shasum": "" }, "require": { - "php": ">=7.0.0" + "league/uri-interfaces": "^7.3", + "php": "^8.1" }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.0", - "phpstan/phpstan": "^0.9.2", - "phpstan/phpstan-phpunit": "^0.9.4", - "phpstan/phpstan-strict-rules": "^0.9.0", - "phpunit/phpunit": "^6.0" + "conflict": { + "league/uri-schemes": "^1.0" }, "suggest": { - "ext-intl": "Allow parsing RFC3987 compliant hosts", - "league/uri-schemes": "Allow validating and normalizing URI parsing results" + "ext-bcmath": "to improve IPV4 host parsing", + "ext-fileinfo": "to create Data URI from file contennts", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain", + "league/uri-components": "Needed to easily manipulate URI objects components", + "php-64bit": "to improve IPV4 host parsing", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-master": "7.x-dev" } }, "autoload": { - "files": [ - "src/functions_include.php" - ], "psr-4": { - "League\\Uri\\": "src" + "League\\Uri\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -3219,70 +2962,174 @@ "homepage": "https://nyamsprod.com" } ], - "description": "userland URI parser RFC 3986 compliant", - "homepage": "https://github.com/thephpleague/uri-parser", + "description": "URI manipulation library", + "homepage": "https://uri.thephpleague.com", "keywords": [ + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "middleware", + "parse_str", "parse_url", - "parser", + "psr-7", + "query-string", + "querystring", "rfc3986", "rfc3987", + "rfc6570", "uri", - "url" + "uri-template", + "url", + "ws" ], "support": { - "issues": "https://github.com/thephpleague/uri-parser/issues", - "source": "https://github.com/thephpleague/uri-parser/tree/master" + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri/tree/7.4.0" }, - "abandoned": true, - "time": "2018-11-22T07:55:51+00:00" + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2023-12-01T06:24:25+00:00" + }, + { + "name": "league/uri-interfaces", + "version": "7.4.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/uri-interfaces.git", + "reference": "bd8c487ec236930f7bbc42b8d374fa882fbba0f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/bd8c487ec236930f7bbc42b8d374fa882fbba0f3", + "reference": "bd8c487ec236930f7bbc42b8d374fa882fbba0f3", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "php": "^8.1", + "psr/http-factory": "^1", + "psr/http-message": "^1.1 || ^2.0" + }, + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "php-64bit": "to improve IPV4 host parsing", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "Common interfaces and classes for URI representation and interaction", + "homepage": "https://uri.thephpleague.com", + "keywords": [ + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", + "rfc3986", + "rfc3987", + "rfc6570", + "uri", + "url", + "ws" + ], + "support": { + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri-interfaces/tree/7.4.0" + }, + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2023-11-24T15:40:42+00:00" }, { "name": "liip/imagine-bundle", - "version": "2.10.0", + "version": "2.12.1", "source": { "type": "git", "url": "https://github.com/liip/LiipImagineBundle.git", - "reference": "93bfc6dde87f135f9c3e63330cff23122448f4ee" + "reference": "cc19da6a02cfc472627cd441186cc6d25f550a53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/liip/LiipImagineBundle/zipball/93bfc6dde87f135f9c3e63330cff23122448f4ee", - "reference": "93bfc6dde87f135f9c3e63330cff23122448f4ee", + "url": "https://api.github.com/repos/liip/LiipImagineBundle/zipball/cc19da6a02cfc472627cd441186cc6d25f550a53", + "reference": "cc19da6a02cfc472627cd441186cc6d25f550a53", "shasum": "" }, "require": { "ext-mbstring": "*", "imagine/imagine": "^1.3.2", - "php": "^7.1|^8.0", - "symfony/filesystem": "^3.4|^4.4|^5.3|^6.0", - "symfony/finder": "^3.4|^4.4|^5.3|^6.0", - "symfony/framework-bundle": "^3.4.23|^4.4|^5.3|^6.0", - "symfony/mime": "^4.4|^5.3|^6.0", - "symfony/options-resolver": "^3.4|^4.4|^5.3|^6.0", - "symfony/process": "^3.4|^4.4|^5.3|^6.0", + "php": "^7.2|^8.0", + "symfony/filesystem": "^3.4|^4.4|^5.3|^6.0|^7.0", + "symfony/finder": "^3.4|^4.4|^5.3|^6.0|^7.0", + "symfony/framework-bundle": "^3.4.23|^4.4|^5.3|^6.0|^7.0", + "symfony/mime": "^4.4|^5.3|^6.0|^7.0", + "symfony/options-resolver": "^3.4|^4.4|^5.3|^6.0|^7.0", + "symfony/process": "^3.4|^4.4|^5.3|^6.0|^7.0", "twig/twig": "^1.44|^2.9|^3.0" }, "require-dev": { "amazonwebservices/aws-sdk-for-php": "^1.0", - "aws/aws-sdk-php": "^2.4", + "aws/aws-sdk-php": "^2.4|^3.0", "doctrine/cache": "^1.11|^2.0", "doctrine/persistence": "^1.3|^2.0", "enqueue/enqueue-bundle": "^0.9|^0.10", "ext-gd": "*", "league/flysystem": "^1.0|^2.0|^3.0", - "phpstan/phpstan": "^0.12.64", + "phpstan/phpstan": "^1.10.0", "psr/cache": "^1.0|^2.0|^3.0", "psr/log": "^1.0", - "symfony/browser-kit": "^3.4|^4.4|^5.3|^6.0", - "symfony/cache": "^3.4|^4.4|^5.3|^6.0", - "symfony/console": "^3.4|^4.4|^5.3|^6.0", - "symfony/dependency-injection": "^3.4|^4.4|^5.3|^6.0", - "symfony/form": "^3.4|^4.4|^5.3|^6.0", - "symfony/messenger": "^4.4|^5.3|^6.0", - "symfony/phpunit-bridge": "^5.3", + "symfony/browser-kit": "^3.4|^4.4|^5.3|^6.0|^7.0", + "symfony/cache": "^3.4|^4.4|^5.3|^6.0|^7.0", + "symfony/console": "^3.4|^4.4|^5.3|^6.0|^7.0", + "symfony/dependency-injection": "^3.4|^4.4|^5.3|^6.0|^7.0", + "symfony/form": "^3.4|^4.4|^5.3|^6.0|^7.0", + "symfony/messenger": "^4.4|^5.3|^6.0|^7.0", + "symfony/phpunit-bridge": "^5.3|^6.0|^7.0", "symfony/templating": "^3.4|^4.4|^5.3|^6.0", - "symfony/validator": "^3.4|^4.4|^5.3|^6.0", - "symfony/yaml": "^3.4|^4.4|^5.3|^6.0" + "symfony/validator": "^3.4|^4.4|^5.3|^6.0|^7.0", + "symfony/yaml": "^3.4|^4.4|^5.3|^6.0|^7.0" }, "suggest": { "alcaeus/mongo-php-adapter": "required for mongodb components", @@ -3321,7 +3168,7 @@ } ], "description": "This bundle provides an image manipulation abstraction toolkit for Symfony-based projects.", - "homepage": "http://liip.ch", + "homepage": "https://www.liip.ch", "keywords": [ "bundle", "image", @@ -3335,38 +3182,41 @@ ], "support": { "issues": "https://github.com/liip/LiipImagineBundle/issues", - "source": "https://github.com/liip/LiipImagineBundle/tree/2.10.0" + "source": "https://github.com/liip/LiipImagineBundle/tree/2.12.1" }, - "time": "2022-12-01T13:19:59+00:00" + "time": "2023-11-14T07:59:41+00:00" }, { "name": "maennchen/zipstream-php", - "version": "2.2.6", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/maennchen/ZipStream-PHP.git", - "reference": "30ad6f93cf3efe4192bc7a4c9cad11ff8f4f237f" + "reference": "b8174494eda667f7d13876b4a7bfef0f62a7c0d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/30ad6f93cf3efe4192bc7a4c9cad11ff8f4f237f", - "reference": "30ad6f93cf3efe4192bc7a4c9cad11ff8f4f237f", + "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/b8174494eda667f7d13876b4a7bfef0f62a7c0d1", + "reference": "b8174494eda667f7d13876b4a7bfef0f62a7c0d1", "shasum": "" }, "require": { - "myclabs/php-enum": "^1.5", - "php": "^7.4 || ^8.0", - "psr/http-message": "^1.0", - "symfony/polyfill-mbstring": "^1.0" + "ext-mbstring": "*", + "ext-zlib": "*", + "php-64bit": "^8.1" }, "require-dev": { "ext-zip": "*", - "friendsofphp/php-cs-fixer": "^3.9", - "guzzlehttp/guzzle": "^6.5.3 || ^7.2.0", + "friendsofphp/php-cs-fixer": "^3.16", + "guzzlehttp/guzzle": "^7.5", "mikey179/vfsstream": "^1.6", - "php-coveralls/php-coveralls": "^2.4", - "phpunit/phpunit": "^8.5.8 || ^9.4.2", - "vimeo/psalm": "^4.1" + "php-coveralls/php-coveralls": "^2.5", + "phpunit/phpunit": "^10.0", + "vimeo/psalm": "^5.0" + }, + "suggest": { + "guzzlehttp/psr7": "^2.4", + "psr/http-message": "^2.0" }, "type": "library", "autoload": { @@ -3403,7 +3253,7 @@ ], "support": { "issues": "https://github.com/maennchen/ZipStream-PHP/issues", - "source": "https://github.com/maennchen/ZipStream-PHP/tree/2.2.6" + "source": "https://github.com/maennchen/ZipStream-PHP/tree/3.1.0" }, "funding": [ { @@ -3415,7 +3265,7 @@ "type": "open_collective" } ], - "time": "2022-11-25T18:57:19+00:00" + "time": "2023-06-21T14:59:35+00:00" }, { "name": "markbaker/complex", @@ -3526,26 +3376,24 @@ }, { "name": "masterminds/html5", - "version": "2.7.6", + "version": "2.8.1", "source": { "type": "git", "url": "https://github.com/Masterminds/html5-php.git", - "reference": "897eb517a343a2281f11bc5556d6548db7d93947" + "reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/897eb517a343a2281f11bc5556d6548db7d93947", - "reference": "897eb517a343a2281f11bc5556d6548db7d93947", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f47dcf3c70c584de14f21143c55d9939631bc6cf", + "reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf", "shasum": "" }, "require": { - "ext-ctype": "*", "ext-dom": "*", - "ext-libxml": "*", "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7" + "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8" }, "type": "library", "extra": { @@ -3589,202 +3437,67 @@ ], "support": { "issues": "https://github.com/Masterminds/html5-php/issues", - "source": "https://github.com/Masterminds/html5-php/tree/2.7.6" - }, - "time": "2022-08-18T16:18:26+00:00" - }, - { - "name": "michelf/php-markdown", - "version": "1.9.1", - "source": { - "type": "git", - "url": "https://github.com/michelf/php-markdown.git", - "reference": "5024d623c1a057dcd2d076d25b7d270a1d0d55f3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/michelf/php-markdown/zipball/5024d623c1a057dcd2d076d25b7d270a1d0d55f3", - "reference": "5024d623c1a057dcd2d076d25b7d270a1d0d55f3", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": ">=4.3 <5.8" - }, - "type": "library", - "autoload": { - "psr-4": { - "Michelf\\": "Michelf/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Michel Fortin", - "email": "michel.fortin@michelf.ca", - "homepage": "https://michelf.ca/", - "role": "Developer" - }, - { - "name": "John Gruber", - "homepage": "https://daringfireball.net/" - } - ], - "description": "PHP Markdown", - "homepage": "https://michelf.ca/projects/php-markdown/", - "keywords": [ - "markdown" - ], - "support": { - "issues": "https://github.com/michelf/php-markdown/issues", - "source": "https://github.com/michelf/php-markdown/tree/1.9.1" - }, - "time": "2021-11-24T02:52:38+00:00" - }, - { - "name": "myclabs/php-enum", - "version": "1.8.4", - "source": { - "type": "git", - "url": "https://github.com/myclabs/php-enum.git", - "reference": "a867478eae49c9f59ece437ae7f9506bfaa27483" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/php-enum/zipball/a867478eae49c9f59ece437ae7f9506bfaa27483", - "reference": "a867478eae49c9f59ece437ae7f9506bfaa27483", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": "^7.3 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.5", - "squizlabs/php_codesniffer": "1.*", - "vimeo/psalm": "^4.6.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "MyCLabs\\Enum\\": "src/" - }, - "classmap": [ - "stubs/Stringable.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP Enum contributors", - "homepage": "https://github.com/myclabs/php-enum/graphs/contributors" - } - ], - "description": "PHP Enum implementation", - "homepage": "http://github.com/myclabs/php-enum", - "keywords": [ - "enum" - ], - "support": { - "issues": "https://github.com/myclabs/php-enum/issues", - "source": "https://github.com/myclabs/php-enum/tree/1.8.4" + "source": "https://github.com/Masterminds/html5-php/tree/2.8.1" }, - "funding": [ - { - "url": "https://github.com/mnapoli", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/myclabs/php-enum", - "type": "tidelift" - } - ], - "time": "2022-08-04T09:53:51+00:00" + "time": "2023-05-10T11:58:31+00:00" }, { "name": "oneup/flysystem-bundle", - "version": "3.7.1", + "version": "4.11.2", "source": { "type": "git", "url": "https://github.com/1up-lab/OneupFlysystemBundle.git", - "reference": "7c9483c1eb21d80ed487d87cdc2a9b359fb8e8f4" + "reference": "54f7248f089e154a34b1df91a7c66241329bf50d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/1up-lab/OneupFlysystemBundle/zipball/7c9483c1eb21d80ed487d87cdc2a9b359fb8e8f4", - "reference": "7c9483c1eb21d80ed487d87cdc2a9b359fb8e8f4", + "url": "https://api.github.com/repos/1up-lab/OneupFlysystemBundle/zipball/54f7248f089e154a34b1df91a7c66241329bf50d", + "reference": "54f7248f089e154a34b1df91a7c66241329bf50d", "shasum": "" }, "require": { - "league/flysystem": "^1.0.26", - "php": ">=7.1", - "symfony/config": "^3.4 || ^4.0 || ^5.0", - "symfony/dependency-injection": "^3.4 || ^4.0 || ^5.0", - "symfony/http-kernel": "^3.4 || ^4.0 || ^5.0" + "league/flysystem": "^2.0 || ^3.0", + "php": "^8.0", + "symfony/config": "^4.4 || ^5.3 || ^6.0 || ^7.0", + "symfony/dependency-injection": "^4.4 || ^5.3 || ^6.0 || ^7.0", + "symfony/http-kernel": "^4.4 || ^5.3 || ^6.0 || ^7.0" }, - "conflict": { - "async-aws/flysystem-s3": "<1.0" - }, - "require-dev": { - "async-aws/flysystem-s3": "^1.0", - "jenko/flysystem-gaufrette": "^1.0", - "league/flysystem-aws-s3-v2": "^1.0", - "league/flysystem-azure-blob-storage": "^0.1", - "league/flysystem-cached-adapter": "^1.0", - "league/flysystem-gridfs": "^1.0", - "league/flysystem-memory": "^1.0", - "league/flysystem-rackspace": "^1.0", - "league/flysystem-replicate-adapter": "^1.0", - "league/flysystem-sftp": "^1.0", - "league/flysystem-webdav": "^1.0", - "league/flysystem-ziparchive": "^1.0", - "litipk/flysystem-fallback-adapter": "^0.1", - "phpunit/phpunit": "^6.5 || ^7.5 || ^8.5", - "spatie/flysystem-dropbox": "^1.0", - "superbalist/flysystem-google-storage": "^4.0", - "symfony/asset": "^3.4 || ^4.0 || ^5.0", - "symfony/browser-kit": "^3.4 || ^4.0 || ^5.0", - "symfony/finder": "^3.4 || ^4.0 || ^5.0", - "symfony/templating": "^3.4 || ^4.0 || ^5.0", - "symfony/translation": "^3.4 || ^4.0 || ^5.0", - "symfony/yaml": "^3.4 || ^4.0 || ^5.0", - "twistor/flysystem-stream-wrapper": "^1.0" + "require-dev": { + "ext-simplexml": "*", + "friendsofphp/php-cs-fixer": "^2.16 || ^3.5", + "league/flysystem-async-aws-s3": "^2.0 || ^3.0", + "league/flysystem-aws-s3-v3": "^2.0 || ^3.0", + "league/flysystem-azure-blob-storage": "^3.0", + "league/flysystem-ftp": "^2.0 || ^3.0", + "league/flysystem-google-cloud-storage": "^2.0 || ^3.0", + "league/flysystem-memory": "^2.0 || ^3.0", + "league/flysystem-sftp-v3": "^2.0 || ^3.0", + "phpstan/phpstan": "^1.4", + "phpunit/phpunit": "^9.5", + "royvoetman/flysystem-gitlab-storage": "^2.0 || ^3.0", + "symfony/asset": "^4.4 || ^5.3 || ^6.0 || ^7.0", + "symfony/browser-kit": "^4.4 || ^5.3 || ^6.0 || ^7.0", + "symfony/finder": "^4.4 || ^5.3 || ^6.0 || ^7.0", + "symfony/framework-bundle": "^4.4 || ^5.3 || ^6.0 || ^7.0", + "symfony/phpunit-bridge": "^6.0 || ^7.0", + "symfony/templating": "^4.4 || ^5.3 || ^6.0 || ^7.0", + "symfony/translation": "^4.4 || ^5.3 || ^6.0 || ^7.0", + "symfony/yaml": "^4.4 || ^5.3 || ^6.0 || ^7.0" }, "suggest": { "ext-fileinfo": "Required for MimeType", "ext-ftp": "Required for FTP and SFTP", - "jenko/flysystem-gaufrette": "Allows you to use gaufrette adapter", - "league/flysystem-aws-s3-v2": "Use S3 storage with AWS SDK v2", + "league/flysystem-async-aws-s3": "Use flysystem S3 adapter from AsyncAws", "league/flysystem-aws-s3-v3": "Use S3 storage with AWS SDK v3", - "league/flysystem-azure-blob-storage": "Allows you to use Azure Blob Storage adapter", - "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", - "league/flysystem-gridfs": "Allows you to use GridFS adapter", - "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", - "league/flysystem-replicate-adapter": "Allows you to use the Replicate adapter from Flysystem", - "league/flysystem-sftp": "Allows SFTP server storage via phpseclib", - "league/flysystem-webdav": "Allows you to use WebDAV storage", - "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", - "litipk/flysystem-fallback-adapter": "Allows you to use a fallback filesystem", - "spatie/flysystem-dropbox": "Use Dropbox storage", - "superbalist/flysystem-google-storage": "Allows you to use Google Cloud Storage buckets", - "twistor/flysystem-stream-wrapper": "Allows you to use stream wrapper" + "league/flysystem-google-cloud-storage": "Use Google Cloud Storage Adapter for Flysystem", + "league/flysystem-sftp-v3": "Allows SFTP server storage via phpseclib", + "royvoetman/flysystem-gitlab-storage": "Use Gitlab Storage filesystem for Flysystem" }, "type": "symfony-bundle", "autoload": { "psr-4": { - "Oneup\\FlysystemBundle\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Oneup\\FlysystemBundle\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3814,9 +3527,9 @@ ], "support": { "issues": "https://github.com/1up-lab/OneupFlysystemBundle/issues", - "source": "https://github.com/1up-lab/OneupFlysystemBundle/tree/3.7.1" + "source": "https://github.com/1up-lab/OneupFlysystemBundle/tree/4.11.2" }, - "time": "2021-08-02T12:11:02+00:00" + "time": "2023-12-21T11:17:36+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -3930,24 +3643,27 @@ }, { "name": "phpdocumentor/type-resolver", - "version": "1.6.2", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d" + "reference": "fad452781b3d774e3337b0c0b245dd8e5a4455fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/48f445a408c131e38cab1c235aa6d2bb7a0bb20d", - "reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/fad452781b3d774e3337b0c0b245dd8e5a4455fc", + "reference": "fad452781b3d774e3337b0c0b245dd8e5a4455fc", "shasum": "" }, "require": { + "doctrine/deprecations": "^1.0", "php": "^7.4 || ^8.0", - "phpdocumentor/reflection-common": "^2.0" + "phpdocumentor/reflection-common": "^2.0", + "phpstan/phpdoc-parser": "^1.13" }, "require-dev": { "ext-tokenizer": "*", + "phpbench/phpbench": "^1.2", "phpstan/extension-installer": "^1.1", "phpstan/phpstan": "^1.8", "phpstan/phpstan-phpunit": "^1.1", @@ -3979,22 +3695,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.6.2" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.0" }, - "time": "2022-10-14T12:47:21+00:00" + "time": "2024-01-11T11:49:22+00:00" }, { "name": "phpoffice/phpspreadsheet", - "version": "1.28.0", + "version": "1.29.0", "source": { "type": "git", "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", - "reference": "6e81cf39bbd93ebc3a4e8150444c41e8aa9b769a" + "reference": "fde2ccf55eaef7e86021ff1acce26479160a0fa0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/6e81cf39bbd93ebc3a4e8150444c41e8aa9b769a", - "reference": "6e81cf39bbd93ebc3a4e8150444c41e8aa9b769a", + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/fde2ccf55eaef7e86021ff1acce26479160a0fa0", + "reference": "fde2ccf55eaef7e86021ff1acce26479160a0fa0", "shasum": "" }, "require": { @@ -4012,7 +3728,7 @@ "ext-zip": "*", "ext-zlib": "*", "ezyang/htmlpurifier": "^4.15", - "maennchen/zipstream-php": "^2.1", + "maennchen/zipstream-php": "^2.1 || ^3.0", "markbaker/complex": "^3.0", "markbaker/matrix": "^3.0", "php": "^7.4 || ^8.0", @@ -4024,12 +3740,12 @@ "dealerdirect/phpcodesniffer-composer-installer": "dev-main", "dompdf/dompdf": "^1.0 || ^2.0", "friendsofphp/php-cs-fixer": "^3.2", - "mitoteam/jpgraph": "^10.2.4", + "mitoteam/jpgraph": "^10.3", "mpdf/mpdf": "^8.1.1", "phpcompatibility/php-compatibility": "^9.3", "phpstan/phpstan": "^1.1", "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^8.5 || ^9.0", + "phpunit/phpunit": "^8.5 || ^9.0 || ^10.0", "squizlabs/php_codesniffer": "^3.7", "tecnickcom/tcpdf": "^6.5" }, @@ -4084,26 +3800,73 @@ ], "support": { "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues", - "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.28.0" + "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.29.0" }, - "time": "2023-02-25T12:24:49+00:00" + "time": "2023-06-14T22:48:31+00:00" + }, + { + "name": "phpstan/phpdoc-parser", + "version": "1.25.0", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpdoc-parser.git", + "reference": "bd84b629c8de41aa2ae82c067c955e06f1b00240" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/bd84b629c8de41aa2ae82c067c955e06f1b00240", + "reference": "bd84b629c8de41aa2ae82c067c955e06f1b00240", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/annotations": "^2.0", + "nikic/php-parser": "^4.15", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.5", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.0", + "phpunit/phpunit": "^9.5", + "symfony/process": "^5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPStan\\PhpDocParser\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPDoc parser with support for nullable, intersection and generic types", + "support": { + "issues": "https://github.com/phpstan/phpdoc-parser/issues", + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.25.0" + }, + "time": "2024-01-04T17:06:16+00:00" }, { "name": "psr/cache", - "version": "1.0.1", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=8.0.0" }, "type": "library", "extra": { @@ -4123,7 +3886,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for caching libraries", @@ -4133,28 +3896,81 @@ "psr-6" ], "support": { - "source": "https://github.com/php-fig/cache/tree/master" + "source": "https://github.com/php-fig/cache/tree/3.0.0" }, - "time": "2016-08-06T20:24:11+00:00" + "time": "2021-02-03T23:26:27+00:00" + }, + { + "name": "psr/clock", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/clock.git", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Clock\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for reading the clock.", + "homepage": "https://github.com/php-fig/clock", + "keywords": [ + "clock", + "now", + "psr", + "psr-20", + "time" + ], + "support": { + "issues": "https://github.com/php-fig/clock/issues", + "source": "https://github.com/php-fig/clock/tree/1.0.0" + }, + "time": "2022-11-25T14:36:26+00:00" }, { "name": "psr/container", - "version": "1.1.2", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/container.git", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", "shasum": "" }, "require": { "php": ">=7.4.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, "autoload": { "psr-4": { "Psr\\Container\\": "src/" @@ -4181,9 +3997,9 @@ ], "support": { "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.2" + "source": "https://github.com/php-fig/container/tree/2.0.2" }, - "time": "2021-11-05T16:50:12+00:00" + "time": "2021-11-05T16:47:00+00:00" }, { "name": "psr/event-dispatcher", @@ -4237,21 +4053,21 @@ }, { "name": "psr/http-client", - "version": "1.0.1", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/php-fig/http-client.git", - "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", - "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", "shasum": "" }, "require": { "php": "^7.0 || ^8.0", - "psr/http-message": "^1.0" + "psr/http-message": "^1.0 || ^2.0" }, "type": "library", "extra": { @@ -4271,7 +4087,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for HTTP clients", @@ -4283,27 +4099,27 @@ "psr-18" ], "support": { - "source": "https://github.com/php-fig/http-client/tree/master" + "source": "https://github.com/php-fig/http-client" }, - "time": "2020-06-29T06:28:15+00:00" + "time": "2023-09-23T14:17:50+00:00" }, { "name": "psr/http-factory", - "version": "1.0.1", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", - "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" + "reference": "e616d01114759c4c489f93b099585439f795fe35" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", - "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", + "reference": "e616d01114759c4c489f93b099585439f795fe35", "shasum": "" }, "require": { "php": ">=7.0.0", - "psr/http-message": "^1.0" + "psr/http-message": "^1.0 || ^2.0" }, "type": "library", "extra": { @@ -4323,7 +4139,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interfaces for PSR-7 HTTP message factories", @@ -4338,31 +4154,31 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-factory/tree/master" + "source": "https://github.com/php-fig/http-factory/tree/1.0.2" }, - "time": "2019-04-30T12:38:16+00:00" + "time": "2023-04-10T20:10:41+00:00" }, { "name": "psr/http-message", - "version": "1.0.1", + "version": "2.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -4377,7 +4193,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for HTTP messages", @@ -4391,36 +4207,36 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-message/tree/master" + "source": "https://github.com/php-fig/http-message/tree/2.0" }, - "time": "2016-08-06T14:39:51+00:00" + "time": "2023-04-04T09:54:51+00:00" }, { "name": "psr/log", - "version": "1.1.4", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", + "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "3.x-dev" } }, "autoload": { "psr-4": { - "Psr\\Log\\": "Psr/Log/" + "Psr\\Log\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -4441,31 +4257,31 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/1.1.4" + "source": "https://github.com/php-fig/log/tree/3.0.0" }, - "time": "2021-05-03T11:20:27+00:00" + "time": "2021-07-14T16:46:02+00:00" }, { "name": "psr/simple-cache", - "version": "1.0.1", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/simple-cache.git", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { @@ -4480,7 +4296,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interfaces for simple caching", @@ -4492,27 +4308,26 @@ "simple-cache" ], "support": { - "source": "https://github.com/php-fig/simple-cache/tree/master" + "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" }, - "time": "2017-10-23T01:57:42+00:00" + "time": "2021-10-29T13:26:27+00:00" }, { "name": "ramsey/collection", - "version": "1.3.0", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/ramsey/collection.git", - "reference": "ad7475d1c9e70b190ecffc58f2d989416af339b4" + "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/ad7475d1c9e70b190ecffc58f2d989416af339b4", - "reference": "ad7475d1c9e70b190ecffc58f2d989416af339b4", + "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", "shasum": "" }, "require": { - "php": "^7.4 || ^8.0", - "symfony/polyfill-php81": "^1.23" + "php": "^8.1" }, "require-dev": { "captainhook/plugin-composer": "^5.3", @@ -4572,7 +4387,7 @@ ], "support": { "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/1.3.0" + "source": "https://github.com/ramsey/collection/tree/2.0.0" }, "funding": [ { @@ -4584,29 +4399,27 @@ "type": "tidelift" } ], - "time": "2022-12-27T19:12:24+00:00" + "time": "2022-12-31T21:50:55+00:00" }, { "name": "ramsey/uuid", - "version": "4.2.3", + "version": "4.7.5", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df" + "reference": "5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df", - "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e", + "reference": "5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e", "shasum": "" }, "require": { - "brick/math": "^0.8 || ^0.9", + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11", "ext-json": "*", - "php": "^7.2 || ^8.0", - "ramsey/collection": "^1.0", - "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-php80": "^1.14" + "php": "^8.0", + "ramsey/collection": "^1.2 || ^2.0" }, "replace": { "rhumsaa/uuid": "self.version" @@ -4618,24 +4431,23 @@ "doctrine/annotations": "^1.8", "ergebnis/composer-normalize": "^2.15", "mockery/mockery": "^1.3", - "moontoast/math": "^1.1", "paragonie/random-lib": "^2", "php-mock/php-mock": "^2.2", "php-mock/php-mock-mockery": "^1.3", "php-parallel-lint/php-parallel-lint": "^1.1", "phpbench/phpbench": "^1.0", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-mockery": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-phpunit": "^1.1", "phpunit/phpunit": "^8.5 || ^9", - "slevomat/coding-standard": "^7.0", + "ramsey/composer-repl": "^1.4", + "slevomat/coding-standard": "^8.4", "squizlabs/php_codesniffer": "^3.5", "vimeo/psalm": "^4.9" }, "suggest": { "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", - "ext-ctype": "Enables faster processing of character classification using ctype functions.", "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", @@ -4643,9 +4455,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "4.x-dev" - }, "captainhook": { "force-install": true } @@ -4670,7 +4479,7 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.2.3" + "source": "https://github.com/ramsey/uuid/tree/4.7.5" }, "funding": [ { @@ -4682,7 +4491,7 @@ "type": "tidelift" } ], - "time": "2021-09-25T23:10:38+00:00" + "time": "2023-11-08T05:53:05+00:00" }, { "name": "ramsey/uuid-doctrine", @@ -4752,61 +4561,48 @@ "time": "2022-11-03T19:30:26+00:00" }, { - "name": "sensio/framework-extra-bundle", - "version": "v6.2.10", + "name": "stof/doctrine-extensions-bundle", + "version": "v1.10.1", "source": { "type": "git", - "url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git", - "reference": "2f886f4b31f23c76496901acaedfedb6936ba61f" + "url": "https://github.com/stof/StofDoctrineExtensionsBundle.git", + "reference": "299d5333ce83941069852be36b949abbc776bf1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/2f886f4b31f23c76496901acaedfedb6936ba61f", - "reference": "2f886f4b31f23c76496901acaedfedb6936ba61f", + "url": "https://api.github.com/repos/stof/StofDoctrineExtensionsBundle/zipball/299d5333ce83941069852be36b949abbc776bf1d", + "reference": "299d5333ce83941069852be36b949abbc776bf1d", "shasum": "" }, "require": { - "doctrine/annotations": "^1.0|^2.0", - "php": ">=7.2.5", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/framework-bundle": "^4.4|^5.0|^6.0", - "symfony/http-kernel": "^4.4|^5.0|^6.0" - }, - "conflict": { - "doctrine/doctrine-cache-bundle": "<1.3.1", - "doctrine/persistence": "<1.3" + "gedmo/doctrine-extensions": "^3.5.0", + "php": "^7.2.5 || ^8.0", + "symfony/cache": "^5.4 || ^6.0 || ^7.0", + "symfony/config": "^5.4 || ^6.0 || ^7.0", + "symfony/dependency-injection": "^5.4 || ^6.0 || ^7.0", + "symfony/event-dispatcher": "^5.4 || ^6.0 || ^7.0", + "symfony/http-kernel": "^5.4 || ^6.0 || ^7.0" }, "require-dev": { - "doctrine/dbal": "^2.10|^3.0", - "doctrine/doctrine-bundle": "^1.11|^2.0", - "doctrine/orm": "^2.5", - "symfony/browser-kit": "^4.4|^5.0|^6.0", - "symfony/doctrine-bridge": "^4.4|^5.0|^6.0", - "symfony/dom-crawler": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", - "symfony/monolog-bridge": "^4.0|^5.0|^6.0", - "symfony/monolog-bundle": "^3.2", - "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0", - "symfony/security-bundle": "^4.4|^5.0|^6.0", - "symfony/twig-bundle": "^4.4|^5.0|^6.0", - "symfony/yaml": "^4.4|^5.0|^6.0", - "twig/twig": "^1.34|^2.4|^3.0" + "symfony/mime": "^5.4 || ^6.0 || ^7.0", + "symfony/phpunit-bridge": "^v6.4.1 || ^7.0.1", + "symfony/security-core": "^5.4 || ^6.0 || ^7.0" + }, + "suggest": { + "doctrine/doctrine-bundle": "to use the ORM extensions", + "doctrine/mongodb-odm-bundle": "to use the MongoDB ODM extensions", + "symfony/mime": "To use the Mime component integration for Uploadable" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "6.1.x-dev" + "dev-main": "1.x-dev" } }, "autoload": { "psr-4": { - "Sensio\\Bundle\\FrameworkExtraBundle\\": "src/" - }, - "exclude-from-classmap": [ - "/tests/" - ] + "Stof\\DoctrineExtensionsBundle\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -4814,20 +4610,30 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Christophe Coevoet", + "email": "stof@notk.org" } ], - "description": "This bundle provides a way to configure your controllers with annotations", + "description": "Integration of the gedmo/doctrine-extensions with Symfony", + "homepage": "https://github.com/stof/StofDoctrineExtensionsBundle", "keywords": [ - "annotations", - "controllers" + "behaviors", + "doctrine2", + "extensions", + "gedmo", + "loggable", + "nestedset", + "sluggable", + "sortable", + "timestampable", + "translatable", + "tree" ], "support": { - "source": "https://github.com/sensiolabs/SensioFrameworkExtraBundle/tree/v6.2.10" + "issues": "https://github.com/stof/StofDoctrineExtensionsBundle/issues", + "source": "https://github.com/stof/StofDoctrineExtensionsBundle/tree/v1.10.1" }, - "abandoned": "Symfony", - "time": "2023-02-24T14:57:12+00:00" + "time": "2023-12-09T09:33:39+00:00" }, { "name": "symfony/apache-pack", @@ -4857,33 +4663,28 @@ }, { "name": "symfony/asset", - "version": "v5.4.21", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/asset.git", - "reference": "1504b6773c6b90118f9871e90a67833b5d1dca3c" + "reference": "c1108eb27a61ef4ac29504ef61c028648308036c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/asset/zipball/1504b6773c6b90118f9871e90a67833b5d1dca3c", - "reference": "1504b6773c6b90118f9871e90a67833b5d1dca3c", + "url": "https://api.github.com/repos/symfony/asset/zipball/c1108eb27a61ef4ac29504ef61c028648308036c", + "reference": "c1108eb27a61ef4ac29504ef61c028648308036c", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1" }, "conflict": { - "symfony/http-foundation": "<5.3" + "symfony/http-foundation": "<5.4" }, "require-dev": { - "symfony/http-client": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^5.3|^6.0", - "symfony/http-kernel": "^4.4|^5.0|^6.0" - }, - "suggest": { - "symfony/http-foundation": "" + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -4911,7 +4712,7 @@ "description": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/asset/tree/v5.4.21" + "source": "https://github.com/symfony/asset/tree/v6.4.0" }, "funding": [ { @@ -4927,62 +4728,61 @@ "type": "tidelift" } ], - "time": "2023-02-14T08:03:56+00:00" + "time": "2023-10-31T08:40:20+00:00" }, { "name": "symfony/cache", - "version": "v5.4.21", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "32cab695bf99c63aff7d27ac67919944c00530ed" + "reference": "14a75869bbb41cb35bc5d9d322473928c6f3f978" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/32cab695bf99c63aff7d27ac67919944c00530ed", - "reference": "32cab695bf99c63aff7d27ac67919944c00530ed", + "url": "https://api.github.com/repos/symfony/cache/zipball/14a75869bbb41cb35bc5d9d322473928c6f3f978", + "reference": "14a75869bbb41cb35bc5d9d322473928c6f3f978", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/cache": "^1.0|^2.0", + "php": ">=8.1", + "psr/cache": "^2.0|^3.0", "psr/log": "^1.1|^2|^3", - "symfony/cache-contracts": "^1.1.7|^2", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/var-exporter": "^4.4|^5.0|^6.0" + "symfony/cache-contracts": "^2.5|^3", + "symfony/service-contracts": "^2.5|^3", + "symfony/var-exporter": "^6.3.6|^7.0" }, "conflict": { "doctrine/dbal": "<2.13.1", - "symfony/dependency-injection": "<4.4", - "symfony/http-kernel": "<4.4", - "symfony/var-dumper": "<4.4" + "symfony/dependency-injection": "<5.4", + "symfony/http-kernel": "<5.4", + "symfony/var-dumper": "<5.4" }, "provide": { - "psr/cache-implementation": "1.0|2.0", - "psr/simple-cache-implementation": "1.0|2.0", - "symfony/cache-implementation": "1.0|2.0" + "psr/cache-implementation": "2.0|3.0", + "psr/simple-cache-implementation": "1.0|2.0|3.0", + "symfony/cache-implementation": "1.1|2.0|3.0" }, "require-dev": { "cache/integration-tests": "dev-master", - "doctrine/cache": "^1.6|^2.0", - "doctrine/dbal": "^2.13.1|^3.0", - "predis/predis": "^1.1", - "psr/simple-cache": "^1.0|^2.0", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/filesystem": "^4.4|^5.0|^6.0", - "symfony/http-kernel": "^4.4|^5.0|^6.0", - "symfony/messenger": "^4.4|^5.0|^6.0", - "symfony/var-dumper": "^4.4|^5.0|^6.0" + "doctrine/dbal": "^2.13.1|^3|^4", + "predis/predis": "^1.1|^2.0", + "psr/simple-cache": "^1.0|^2.0|^3.0", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/filesystem": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\Cache\\": "" }, + "classmap": [ + "Traits/ValueWrapper.php" + ], "exclude-from-classmap": [ "/Tests/" ] @@ -5008,7 +4808,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v5.4.21" + "source": "https://github.com/symfony/cache/tree/v6.4.2" }, "funding": [ { @@ -5024,33 +4824,30 @@ "type": "tidelift" } ], - "time": "2023-02-21T12:11:13+00:00" + "time": "2023-12-29T15:34:34+00:00" }, { "name": "symfony/cache-contracts", - "version": "v2.5.2", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/cache-contracts.git", - "reference": "64be4a7acb83b6f2bf6de9a02cee6dad41277ebc" + "reference": "1d74b127da04ffa87aa940abe15446fa89653778" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/64be4a7acb83b6f2bf6de9a02cee6dad41277ebc", - "reference": "64be4a7acb83b6f2bf6de9a02cee6dad41277ebc", + "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/1d74b127da04ffa87aa940abe15446fa89653778", + "reference": "1d74b127da04ffa87aa940abe15446fa89653778", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/cache": "^1.0|^2.0|^3.0" - }, - "suggest": { - "symfony/cache-implementation": "" + "php": ">=8.1", + "psr/cache": "^3.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -5087,7 +4884,81 @@ "standards" ], "support": { - "source": "https://github.com/symfony/cache-contracts/tree/v2.5.2" + "source": "https://github.com/symfony/cache-contracts/tree/v3.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-09-25T12:52:38+00:00" + }, + { + "name": "symfony/clock", + "version": "v6.4.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/clock.git", + "reference": "0639710e65f73cc504167958ea29be6de5c7177a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/clock/zipball/0639710e65f73cc504167958ea29be6de5c7177a", + "reference": "0639710e65f73cc504167958ea29be6de5c7177a", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/clock": "^1.0", + "symfony/polyfill-php83": "^1.28" + }, + "provide": { + "psr/clock-implementation": "1.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/now.php" + ], + "psr-4": { + "Symfony\\Component\\Clock\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Decouples applications from the system clock", + "homepage": "https://symfony.com", + "keywords": [ + "clock", + "psr20", + "time" + ], + "support": { + "source": "https://github.com/symfony/clock/tree/v6.4.2" }, "funding": [ { @@ -5103,42 +4974,38 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:53:40+00:00" + "time": "2023-12-27T00:32:33+00:00" }, { "name": "symfony/config", - "version": "v5.4.21", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "2a6b1111d038adfa15d52c0871e540f3b352d1e4" + "reference": "5d33e0fb707d603330e0edfd4691803a1253572e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/2a6b1111d038adfa15d52c0871e540f3b352d1e4", - "reference": "2a6b1111d038adfa15d52c0871e540f3b352d1e4", + "url": "https://api.github.com/repos/symfony/config/zipball/5d33e0fb707d603330e0edfd4691803a1253572e", + "reference": "5d33e0fb707d603330e0edfd4691803a1253572e", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/filesystem": "^4.4|^5.0|^6.0", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-php80": "^1.16", - "symfony/polyfill-php81": "^1.22" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/filesystem": "^5.4|^6.0|^7.0", + "symfony/polyfill-ctype": "~1.8" }, "conflict": { - "symfony/finder": "<4.4" + "symfony/finder": "<5.4", + "symfony/service-contracts": "<2.5" }, "require-dev": { - "symfony/event-dispatcher": "^4.4|^5.0|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", - "symfony/messenger": "^4.4|^5.0|^6.0", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/yaml": "^4.4|^5.0|^6.0" - }, - "suggest": { - "symfony/yaml": "To use the yaml reference dumper" + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/yaml": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -5166,7 +5033,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v5.4.21" + "source": "https://github.com/symfony/config/tree/v6.4.0" }, "funding": [ { @@ -5182,56 +5049,51 @@ "type": "tidelift" } ], - "time": "2023-02-14T08:03:56+00:00" + "time": "2023-11-09T08:28:32+00:00" }, { "name": "symfony/console", - "version": "v5.4.21", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "c77433ddc6cdc689caf48065d9ea22ca0853fbd9" + "reference": "0254811a143e6bc6c8deea08b589a7e68a37f625" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/c77433ddc6cdc689caf48065d9ea22ca0853fbd9", - "reference": "c77433ddc6cdc689caf48065d9ea22ca0853fbd9", + "url": "https://api.github.com/repos/symfony/console/zipball/0254811a143e6bc6c8deea08b589a7e68a37f625", + "reference": "0254811a143e6bc6c8deea08b589a7e68a37f625", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/string": "^5.1|^6.0" + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^5.4|^6.0|^7.0" }, "conflict": { - "psr/log": ">=3", - "symfony/dependency-injection": "<4.4", - "symfony/dotenv": "<5.1", - "symfony/event-dispatcher": "<4.4", - "symfony/lock": "<4.4", - "symfony/process": "<4.4" + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" }, "provide": { - "psr/log-implementation": "1.0|2.0" + "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { - "psr/log": "^1|^2", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/event-dispatcher": "^4.4|^5.0|^6.0", - "symfony/lock": "^4.4|^5.0|^6.0", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/var-dumper": "^4.4|^5.0|^6.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -5260,12 +5122,12 @@ "homepage": "https://symfony.com", "keywords": [ "cli", - "command line", + "command-line", "console", "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.21" + "source": "https://github.com/symfony/console/tree/v6.4.2" }, "funding": [ { @@ -5281,25 +5143,24 @@ "type": "tidelift" } ], - "time": "2023-02-25T16:59:41+00:00" + "time": "2023-12-10T16:15:48+00:00" }, { "name": "symfony/css-selector", - "version": "v5.4.21", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "95f3c7468db1da8cc360b24fa2a26e7cefcb355d" + "reference": "d036c6c0d0b09e24a14a35f8292146a658f986e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/95f3c7468db1da8cc360b24fa2a26e7cefcb355d", - "reference": "95f3c7468db1da8cc360b24fa2a26e7cefcb355d", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/d036c6c0d0b09e24a14a35f8292146a658f986e4", + "reference": "d036c6c0d0b09e24a14a35f8292146a658f986e4", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1" }, "type": "library", "autoload": { @@ -5331,7 +5192,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v5.4.21" + "source": "https://github.com/symfony/css-selector/tree/v6.4.0" }, "funding": [ { @@ -5347,52 +5208,44 @@ "type": "tidelift" } ], - "time": "2023-02-14T08:03:56+00:00" + "time": "2023-10-31T08:40:20+00:00" }, { "name": "symfony/dependency-injection", - "version": "v5.4.21", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "5bc403d96622cf0091abd92c939eadecd4d07f94" + "reference": "226ea431b1eda6f0d9f5a4b278757171960bb195" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/5bc403d96622cf0091abd92c939eadecd4d07f94", - "reference": "5bc403d96622cf0091abd92c939eadecd4d07f94", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/226ea431b1eda6f0d9f5a4b278757171960bb195", + "reference": "226ea431b1eda6f0d9f5a4b278757171960bb195", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/container": "^1.1.1", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16", - "symfony/polyfill-php81": "^1.22", - "symfony/service-contracts": "^1.1.6|^2" + "php": ">=8.1", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/service-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^6.2.10|^7.0" }, "conflict": { "ext-psr": "<1.1|>=2", - "symfony/config": "<5.3", - "symfony/finder": "<4.4", - "symfony/proxy-manager-bridge": "<4.4", - "symfony/yaml": "<4.4.26" + "symfony/config": "<6.1", + "symfony/finder": "<5.4", + "symfony/proxy-manager-bridge": "<6.3", + "symfony/yaml": "<5.4" }, "provide": { - "psr/container-implementation": "1.0", - "symfony/service-implementation": "1.0|2.0" + "psr/container-implementation": "1.1|2.0", + "symfony/service-implementation": "1.1|2.0|3.0" }, "require-dev": { - "symfony/config": "^5.3|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/yaml": "^4.4.26|^5.0|^6.0" - }, - "suggest": { - "symfony/config": "", - "symfony/expression-language": "For using expressions in service container configuration", - "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required", - "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", - "symfony/yaml": "" + "symfony/config": "^6.1|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -5420,7 +5273,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.4.21" + "source": "https://github.com/symfony/dependency-injection/tree/v6.4.2" }, "funding": [ { @@ -5436,29 +5289,29 @@ "type": "tidelift" } ], - "time": "2023-02-16T09:33:00+00:00" + "time": "2023-12-28T19:16:56+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v2.5.2", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=8.1" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -5487,7 +5340,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0" }, "funding": [ { @@ -5503,80 +5356,71 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:53:40+00:00" + "time": "2023-05-23T14:45:45+00:00" }, { "name": "symfony/doctrine-bridge", - "version": "v5.4.21", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-bridge.git", - "reference": "d0ec59b38d87bcaa4dab5717be98433fa3db58dc" + "reference": "da33f27c1dd9946afecfd1585b867551df71bf53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/d0ec59b38d87bcaa4dab5717be98433fa3db58dc", - "reference": "d0ec59b38d87bcaa4dab5717be98433fa3db58dc", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/da33f27c1dd9946afecfd1585b867551df71bf53", + "reference": "da33f27c1dd9946afecfd1585b867551df71bf53", "shasum": "" }, "require": { - "doctrine/event-manager": "~1.0", - "doctrine/persistence": "^2|^3", - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", + "doctrine/event-manager": "^1.2|^2", + "doctrine/persistence": "^3.1", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1|^2|^3" + "symfony/service-contracts": "^2.5|^3" }, "conflict": { "doctrine/dbal": "<2.13.1", "doctrine/lexer": "<1.1", - "doctrine/orm": "<2.7.4", - "phpunit/phpunit": "<5.4.3", + "doctrine/orm": "<2.15", "symfony/cache": "<5.4", - "symfony/dependency-injection": "<4.4", + "symfony/dependency-injection": "<6.2", "symfony/form": "<5.4.21|>=6,<6.2.7", - "symfony/http-kernel": "<5", - "symfony/messenger": "<4.4", - "symfony/property-info": "<5", - "symfony/proxy-manager-bridge": "<4.4.19", - "symfony/security-bundle": "<5", - "symfony/security-core": "<5.3", - "symfony/validator": "<5.2" + "symfony/http-foundation": "<6.3", + "symfony/http-kernel": "<6.2", + "symfony/lock": "<6.3", + "symfony/messenger": "<5.4", + "symfony/property-info": "<5.4", + "symfony/security-bundle": "<5.4", + "symfony/security-core": "<6.4", + "symfony/validator": "<6.4" }, "require-dev": { - "doctrine/annotations": "^1.10.4|^2", "doctrine/collections": "^1.0|^2.0", "doctrine/data-fixtures": "^1.1", - "doctrine/dbal": "^2.13.1|^3.0", - "doctrine/orm": "^2.7.4", + "doctrine/dbal": "^2.13.1|^3|^4", + "doctrine/orm": "^2.15|^3", "psr/log": "^1|^2|^3", - "symfony/cache": "^5.4|^6.0", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/doctrine-messenger": "^5.1|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/form": "^5.4.21|^6.2.7", - "symfony/http-kernel": "^5.0|^6.0", - "symfony/messenger": "^4.4|^5.0|^6.0", - "symfony/property-access": "^4.4|^5.0|^6.0", - "symfony/property-info": "^5.0|^6.0", - "symfony/proxy-manager-bridge": "^4.4|^5.0|^6.0", - "symfony/security-core": "^5.3|^6.0", - "symfony/stopwatch": "^4.4|^5.0|^6.0", - "symfony/translation": "^4.4|^5.0|^6.0", - "symfony/uid": "^5.1|^6.0", - "symfony/validator": "^5.2|^6.0", - "symfony/var-dumper": "^4.4|^5.0|^6.0" - }, - "suggest": { - "doctrine/data-fixtures": "", - "doctrine/dbal": "", - "doctrine/orm": "", - "symfony/form": "", - "symfony/property-info": "", - "symfony/validator": "" + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^6.2|^7.0", + "symfony/doctrine-messenger": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/form": "^5.4.21|^6.2.7|^7.0", + "symfony/http-kernel": "^6.3|^7.0", + "symfony/lock": "^6.3|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4|^6.0|^7.0", + "symfony/property-info": "^5.4|^6.0|^7.0", + "symfony/proxy-manager-bridge": "^6.4", + "symfony/security-core": "^6.4|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/translation": "^5.4|^6.0|^7.0", + "symfony/uid": "^5.4|^6.0|^7.0", + "symfony/validator": "^6.4|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "symfony-bridge", "autoload": { @@ -5604,7 +5448,7 @@ "description": "Provides integration for Doctrine with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-bridge/tree/v5.4.21" + "source": "https://github.com/symfony/doctrine-bridge/tree/v6.4.2" }, "funding": [ { @@ -5620,29 +5464,32 @@ "type": "tidelift" } ], - "time": "2023-02-14T08:03:56+00:00" + "time": "2023-12-27T00:32:33+00:00" }, { "name": "symfony/dotenv", - "version": "v5.4.21", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/dotenv.git", - "reference": "c45210b1c43d2d24e263eefe72e8162754dd4c9f" + "reference": "835f8d2d1022934ac038519de40b88158798c96f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dotenv/zipball/c45210b1c43d2d24e263eefe72e8162754dd4c9f", - "reference": "c45210b1c43d2d24e263eefe72e8162754dd4c9f", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/835f8d2d1022934ac038519de40b88158798c96f", + "reference": "835f8d2d1022934ac038519de40b88158798c96f", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3" + "php": ">=8.1" + }, + "conflict": { + "symfony/console": "<5.4", + "symfony/process": "<5.4" }, "require-dev": { - "symfony/console": "^4.4|^5.0|^6.0", - "symfony/process": "^4.4|^5.0|^6.0" + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -5675,7 +5522,7 @@ "environment" ], "support": { - "source": "https://github.com/symfony/dotenv/tree/v5.4.21" + "source": "https://github.com/symfony/dotenv/tree/v6.4.2" }, "funding": [ { @@ -5691,31 +5538,35 @@ "type": "tidelift" } ], - "time": "2023-02-14T08:03:56+00:00" + "time": "2023-12-28T19:16:56+00:00" }, { "name": "symfony/error-handler", - "version": "v5.4.29", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "328c6fcfd2f90b64c16efaf0ea67a311d672f078" + "reference": "c873490a1c97b3a0a4838afc36ff36c112d02788" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/328c6fcfd2f90b64c16efaf0ea67a311d672f078", - "reference": "328c6fcfd2f90b64c16efaf0ea67a311d672f078", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/c873490a1c97b3a0a4838afc36ff36c112d02788", + "reference": "c873490a1c97b3a0a4838afc36ff36c112d02788", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.1", "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^4.4|^5.0|^6.0" + "symfony/var-dumper": "^5.4|^6.0|^7.0" + }, + "conflict": { + "symfony/deprecation-contracts": "<2.5", + "symfony/http-kernel": "<6.4" }, "require-dev": { - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/http-kernel": "^4.4|^5.0|^6.0", - "symfony/serializer": "^4.4|^5.0|^6.0" + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/serializer": "^5.4|^6.0|^7.0" }, "bin": [ "Resources/bin/patch-type-declarations" @@ -5746,7 +5597,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v5.4.29" + "source": "https://github.com/symfony/error-handler/tree/v6.4.0" }, "funding": [ { @@ -5762,48 +5613,43 @@ "type": "tidelift" } ], - "time": "2023-09-06T21:54:06+00:00" + "time": "2023-10-18T09:43:34+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v5.4.26", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "5dcc00e03413f05c1e7900090927bb7247cb0aac" + "reference": "e95216850555cd55e71b857eb9d6c2674124603a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/5dcc00e03413f05c1e7900090927bb7247cb0aac", - "reference": "5dcc00e03413f05c1e7900090927bb7247cb0aac", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/e95216850555cd55e71b857eb9d6c2674124603a", + "reference": "e95216850555cd55e71b857eb9d6c2674124603a", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/event-dispatcher-contracts": "^2|^3", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1", + "symfony/event-dispatcher-contracts": "^2.5|^3" }, "conflict": { - "symfony/dependency-injection": "<4.4" + "symfony/dependency-injection": "<5.4", + "symfony/service-contracts": "<2.5" }, "provide": { "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "2.0" + "symfony/event-dispatcher-implementation": "2.0|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^4.4|^5.0|^6.0", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/stopwatch": "^4.4|^5.0|^6.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/stopwatch": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -5831,7 +5677,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.26" + "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.2" }, "funding": [ { @@ -5847,33 +5693,30 @@ "type": "tidelift" } ], - "time": "2023-07-06T06:34:20+00:00" + "time": "2023-12-27T22:16:42+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v2.5.2", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "f98b54df6ad059855739db6fcbc2d36995283fe1" + "reference": "a76aed96a42d2b521153fb382d418e30d18b59df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/f98b54df6ad059855739db6fcbc2d36995283fe1", - "reference": "f98b54df6ad059855739db6fcbc2d36995283fe1", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df", + "reference": "a76aed96a42d2b521153fb382d418e30d18b59df", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.1", "psr/event-dispatcher": "^1" }, - "suggest": { - "symfony/event-dispatcher-implementation": "" - }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -5910,7 +5753,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.2" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.0" }, "funding": [ { @@ -5926,26 +5769,27 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:53:40+00:00" + "time": "2023-05-23T14:45:45+00:00" }, { "name": "symfony/expression-language", - "version": "v5.4.21", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/expression-language.git", - "reference": "501589522b844b8eecf012c133f0404f0eef77ac" + "reference": "7d63ccd5331d4164961776eced5524e891e30ad3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/expression-language/zipball/501589522b844b8eecf012c133f0404f0eef77ac", - "reference": "501589522b844b8eecf012c133f0404f0eef77ac", + "url": "https://api.github.com/repos/symfony/expression-language/zipball/7d63ccd5331d4164961776eced5524e891e30ad3", + "reference": "7d63ccd5331d4164961776eced5524e891e30ad3", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/cache": "^4.4|^5.0|^6.0", - "symfony/service-contracts": "^1.1|^2|^3" + "php": ">=8.1", + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/service-contracts": "^2.5|^3" }, "type": "library", "autoload": { @@ -5973,7 +5817,7 @@ "description": "Provides an engine that can compile and evaluate expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/expression-language/tree/v5.4.21" + "source": "https://github.com/symfony/expression-language/tree/v6.4.2" }, "funding": [ { @@ -5989,27 +5833,26 @@ "type": "tidelift" } ], - "time": "2023-02-14T08:03:56+00:00" + "time": "2023-12-10T16:15:48+00:00" }, { "name": "symfony/filesystem", - "version": "v5.4.21", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "e75960b1bbfd2b8c9e483e0d74811d555ca3de9f" + "reference": "952a8cb588c3bc6ce76f6023000fb932f16a6e59" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/e75960b1bbfd2b8c9e483e0d74811d555ca3de9f", - "reference": "e75960b1bbfd2b8c9e483e0d74811d555ca3de9f", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/952a8cb588c3bc6ce76f6023000fb932f16a6e59", + "reference": "952a8cb588c3bc6ce76f6023000fb932f16a6e59", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.1", "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8", - "symfony/polyfill-php80": "^1.16" + "symfony/polyfill-mbstring": "~1.8" }, "type": "library", "autoload": { @@ -6037,7 +5880,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.4.21" + "source": "https://github.com/symfony/filesystem/tree/v6.4.0" }, "funding": [ { @@ -6053,26 +5896,27 @@ "type": "tidelift" } ], - "time": "2023-02-14T08:03:56+00:00" + "time": "2023-07-26T17:27:13+00:00" }, { "name": "symfony/finder", - "version": "v5.4.21", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "078e9a5e1871fcfe6a5ce421b539344c21afef19" + "reference": "11d736e97f116ac375a81f96e662911a34cd50ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/078e9a5e1871fcfe6a5ce421b539344c21afef19", - "reference": "078e9a5e1871fcfe6a5ce421b539344c21afef19", + "url": "https://api.github.com/repos/symfony/finder/zipball/11d736e97f116ac375a81f96e662911a34cd50ce", + "reference": "11d736e97f116ac375a81f96e662911a34cd50ce", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1" + }, + "require-dev": { + "symfony/filesystem": "^6.0|^7.0" }, "type": "library", "autoload": { @@ -6100,7 +5944,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.21" + "source": "https://github.com/symfony/finder/tree/v6.4.0" }, "funding": [ { @@ -6116,20 +5960,20 @@ "type": "tidelift" } ], - "time": "2023-02-16T09:33:00+00:00" + "time": "2023-10-31T17:30:12+00:00" }, { "name": "symfony/flex", - "version": "v1.19.5", + "version": "v1.21.4", "source": { "type": "git", "url": "https://github.com/symfony/flex.git", - "reference": "51077ed0f6dc2c94cd0b670167eee3747c31b2c1" + "reference": "7b40eec950ded5de7054f807c209d3c612efe517" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/flex/zipball/51077ed0f6dc2c94cd0b670167eee3747c31b2c1", - "reference": "51077ed0f6dc2c94cd0b670167eee3747c31b2c1", + "url": "https://api.github.com/repos/symfony/flex/zipball/7b40eec950ded5de7054f807c209d3c612efe517", + "reference": "7b40eec950ded5de7054f807c209d3c612efe517", "shasum": "" }, "require": { @@ -6165,7 +6009,7 @@ "description": "Composer plugin for Symfony", "support": { "issues": "https://github.com/symfony/flex/issues", - "source": "https://github.com/symfony/flex/tree/v1.19.5" + "source": "https://github.com/symfony/flex/tree/v1.21.4" }, "funding": [ { @@ -6181,71 +6025,213 @@ "type": "tidelift" } ], - "time": "2023-01-30T17:02:31+00:00" + "time": "2024-01-02T11:08:17+00:00" }, { "name": "symfony/form", - "version": "v5.4.21", + "version": "v6.4.1", "source": { "type": "git", "url": "https://github.com/symfony/form.git", - "reference": "39b8a9e6353f8ad95de993ef769295d412991b36" + "reference": "10649ab710b58a04bcf1886f005ccab58d9cf0a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/form/zipball/39b8a9e6353f8ad95de993ef769295d412991b36", - "reference": "39b8a9e6353f8ad95de993ef769295d412991b36", + "url": "https://api.github.com/repos/symfony/form/zipball/10649ab710b58a04bcf1886f005ccab58d9cf0a4", + "reference": "10649ab710b58a04bcf1886f005ccab58d9cf0a4", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/event-dispatcher": "^4.4|^5.0|^6.0", - "symfony/options-resolver": "^5.1|^6.0", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/options-resolver": "^5.4|^6.0|^7.0", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-icu": "^1.21", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/polyfill-php81": "^1.23", - "symfony/property-access": "^5.0.8|^6.0", - "symfony/service-contracts": "^1.1|^2|^3" + "symfony/property-access": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "phpunit/phpunit": "<5.4.3", - "symfony/console": "<4.4", - "symfony/dependency-injection": "<4.4", + "symfony/console": "<5.4", + "symfony/dependency-injection": "<5.4", "symfony/doctrine-bridge": "<5.4.21|>=6,<6.2.7", - "symfony/error-handler": "<4.4.5", - "symfony/framework-bundle": "<4.4", - "symfony/http-kernel": "<4.4", - "symfony/translation": "<4.4", - "symfony/translation-contracts": "<1.1.7", - "symfony/twig-bridge": "<5.4.21|>=6,<6.2.7" + "symfony/error-handler": "<5.4", + "symfony/framework-bundle": "<5.4", + "symfony/http-kernel": "<5.4", + "symfony/translation": "<5.4", + "symfony/translation-contracts": "<2.5", + "symfony/twig-bridge": "<6.3" }, "require-dev": { "doctrine/collections": "^1.0|^2.0", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/console": "^5.4|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^4.4|^5.0|^6.0", - "symfony/http-kernel": "^4.4|^5.0|^6.0", - "symfony/intl": "^4.4|^5.0|^6.0", - "symfony/security-csrf": "^4.4|^5.0|^6.0", - "symfony/translation": "^4.4|^5.0|^6.0", - "symfony/uid": "^5.1|^6.0", - "symfony/validator": "^4.4.17|^5.1.9|^6.0", - "symfony/var-dumper": "^4.4|^5.0|^6.0" + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/html-sanitizer": "^6.1|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/intl": "^5.4|^6.0|^7.0", + "symfony/security-core": "^6.2|^7.0", + "symfony/security-csrf": "^5.4|^6.0|^7.0", + "symfony/translation": "^5.4|^6.0|^7.0", + "symfony/uid": "^5.4|^6.0|^7.0", + "symfony/validator": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, - "suggest": { - "symfony/security-csrf": "For protecting forms against CSRF attacks.", - "symfony/twig-bridge": "For templating with Twig.", - "symfony/validator": "For form validation." + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Form\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Allows to easily create, process and reuse HTML forms", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/form/tree/v6.4.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-30T11:08:34+00:00" + }, + { + "name": "symfony/framework-bundle", + "version": "v6.4.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/framework-bundle.git", + "reference": "c26a221e0462027d1f9d4a802ed63f8ab07a43d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/c26a221e0462027d1f9d4a802ed63f8ab07a43d0", + "reference": "c26a221e0462027d1f9d4a802ed63f8ab07a43d0", + "shasum": "" + }, + "require": { + "composer-runtime-api": ">=2.1", + "ext-xml": "*", + "php": ">=8.1", + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/config": "^6.1|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/error-handler": "^6.1|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/filesystem": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4", + "symfony/polyfill-mbstring": "~1.0", + "symfony/routing": "^6.4|^7.0" + }, + "conflict": { + "doctrine/annotations": "<1.13.1", + "doctrine/persistence": "<1.3", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/asset": "<5.4", + "symfony/asset-mapper": "<6.4", + "symfony/clock": "<6.3", + "symfony/console": "<5.4|>=7.0", + "symfony/dom-crawler": "<6.4", + "symfony/dotenv": "<5.4", + "symfony/form": "<5.4", + "symfony/http-client": "<6.3", + "symfony/lock": "<5.4", + "symfony/mailer": "<5.4", + "symfony/messenger": "<6.3", + "symfony/mime": "<6.4", + "symfony/property-access": "<5.4", + "symfony/property-info": "<5.4", + "symfony/scheduler": "<6.4", + "symfony/security-core": "<5.4", + "symfony/security-csrf": "<5.4", + "symfony/serializer": "<6.4", + "symfony/stopwatch": "<5.4", + "symfony/translation": "<6.4", + "symfony/twig-bridge": "<5.4", + "symfony/twig-bundle": "<5.4", + "symfony/validator": "<6.4", + "symfony/web-profiler-bundle": "<6.4", + "symfony/workflow": "<6.4" + }, + "require-dev": { + "doctrine/annotations": "^1.13.1|^2", + "doctrine/persistence": "^1.3|^2|^3", + "dragonmantank/cron-expression": "^3.1", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "seld/jsonlint": "^1.10", + "symfony/asset": "^5.4|^6.0|^7.0", + "symfony/asset-mapper": "^6.4|^7.0", + "symfony/browser-kit": "^5.4|^6.0|^7.0", + "symfony/clock": "^6.2|^7.0", + "symfony/console": "^5.4.9|^6.0.9|^7.0", + "symfony/css-selector": "^5.4|^6.0|^7.0", + "symfony/dom-crawler": "^6.4|^7.0", + "symfony/dotenv": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/form": "^5.4|^6.0|^7.0", + "symfony/html-sanitizer": "^6.1|^7.0", + "symfony/http-client": "^6.3|^7.0", + "symfony/lock": "^5.4|^6.0|^7.0", + "symfony/mailer": "^5.4|^6.0|^7.0", + "symfony/messenger": "^6.3|^7.0", + "symfony/mime": "^6.4|^7.0", + "symfony/notifier": "^5.4|^6.0|^7.0", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/property-info": "^5.4|^6.0|^7.0", + "symfony/rate-limiter": "^5.4|^6.0|^7.0", + "symfony/scheduler": "^6.4|^7.0", + "symfony/security-bundle": "^5.4|^6.0|^7.0", + "symfony/semaphore": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.4|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/string": "^5.4|^6.0|^7.0", + "symfony/translation": "^6.4|^7.0", + "symfony/twig-bundle": "^5.4|^6.0|^7.0", + "symfony/uid": "^5.4|^6.0|^7.0", + "symfony/validator": "^6.4|^7.0", + "symfony/web-link": "^5.4|^6.0|^7.0", + "symfony/workflow": "^6.4|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0", + "twig/twig": "^2.10|^3.0" }, - "type": "library", + "type": "symfony-bundle", "autoload": { "psr-4": { - "Symfony\\Component\\Form\\": "" + "Symfony\\Bundle\\FrameworkBundle\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -6265,10 +6251,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Allows to easily create, process and reuse HTML forms", + "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/form/tree/v5.4.21" + "source": "https://github.com/symfony/framework-bundle/tree/v6.4.2" }, "funding": [ { @@ -6284,119 +6270,32 @@ "type": "tidelift" } ], - "time": "2023-02-23T17:08:09+00:00" + "time": "2023-12-29T15:34:34+00:00" }, { - "name": "symfony/framework-bundle", - "version": "v5.4.21", + "name": "symfony/html-sanitizer", + "version": "v6.4.0", "source": { "type": "git", - "url": "https://github.com/symfony/framework-bundle.git", - "reference": "87623353dea3044c9d34382ffc4c5729cf676c90" + "url": "https://github.com/symfony/html-sanitizer.git", + "reference": "9cc71f272eb62504872c80845074f236e8e43536" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/87623353dea3044c9d34382ffc4c5729cf676c90", - "reference": "87623353dea3044c9d34382ffc4c5729cf676c90", + "url": "https://api.github.com/repos/symfony/html-sanitizer/zipball/9cc71f272eb62504872c80845074f236e8e43536", + "reference": "9cc71f272eb62504872c80845074f236e8e43536", "shasum": "" }, "require": { - "ext-xml": "*", - "php": ">=7.2.5", - "symfony/cache": "^5.2|^6.0", - "symfony/config": "^5.3|^6.0", - "symfony/dependency-injection": "^5.4.5|^6.0.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/error-handler": "^4.4.1|^5.0.1|^6.0", - "symfony/event-dispatcher": "^5.1|^6.0", - "symfony/filesystem": "^4.4|^5.0|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^5.3|^6.0", - "symfony/http-kernel": "^5.4|^6.0", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/polyfill-php81": "^1.22", - "symfony/routing": "^5.3|^6.0" - }, - "conflict": { - "doctrine/annotations": "<1.13.1", - "doctrine/cache": "<1.11", - "doctrine/persistence": "<1.3", - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "phpunit/phpunit": "<5.4.3", - "symfony/asset": "<5.3", - "symfony/console": "<5.2.5", - "symfony/dom-crawler": "<4.4", - "symfony/dotenv": "<5.1", - "symfony/form": "<5.2", - "symfony/http-client": "<4.4", - "symfony/lock": "<4.4", - "symfony/mailer": "<5.2", - "symfony/messenger": "<5.4", - "symfony/mime": "<4.4", - "symfony/property-access": "<5.3", - "symfony/property-info": "<4.4", - "symfony/security-csrf": "<5.3", - "symfony/serializer": "<5.2", - "symfony/service-contracts": ">=3.0", - "symfony/stopwatch": "<4.4", - "symfony/translation": "<5.3", - "symfony/twig-bridge": "<4.4", - "symfony/twig-bundle": "<4.4", - "symfony/validator": "<5.2", - "symfony/web-profiler-bundle": "<4.4", - "symfony/workflow": "<5.2" - }, - "require-dev": { - "doctrine/annotations": "^1.13.1|^2", - "doctrine/cache": "^1.11|^2.0", - "doctrine/persistence": "^1.3|^2|^3", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/asset": "^5.3|^6.0", - "symfony/browser-kit": "^5.4|^6.0", - "symfony/console": "^5.4.9|^6.0.9", - "symfony/css-selector": "^4.4|^5.0|^6.0", - "symfony/dom-crawler": "^4.4.30|^5.3.7|^6.0", - "symfony/dotenv": "^5.1|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/form": "^5.2|^6.0", - "symfony/http-client": "^4.4|^5.0|^6.0", - "symfony/lock": "^4.4|^5.0|^6.0", - "symfony/mailer": "^5.2|^6.0", - "symfony/messenger": "^5.4|^6.0", - "symfony/mime": "^4.4|^5.0|^6.0", - "symfony/notifier": "^5.4|^6.0", - "symfony/polyfill-intl-icu": "~1.0", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/property-info": "^4.4|^5.0|^6.0", - "symfony/rate-limiter": "^5.2|^6.0", - "symfony/security-bundle": "^5.4|^6.0", - "symfony/serializer": "^5.4|^6.0", - "symfony/stopwatch": "^4.4|^5.0|^6.0", - "symfony/string": "^5.0|^6.0", - "symfony/translation": "^5.3|^6.0", - "symfony/twig-bundle": "^4.4|^5.0|^6.0", - "symfony/validator": "^5.2|^6.0", - "symfony/web-link": "^4.4|^5.0|^6.0", - "symfony/workflow": "^5.2|^6.0", - "symfony/yaml": "^4.4|^5.0|^6.0", - "twig/twig": "^2.10|^3.0" - }, - "suggest": { - "ext-apcu": "For best performance of the system caches", - "symfony/console": "For using the console commands", - "symfony/form": "For using forms", - "symfony/property-info": "For using the property_info service", - "symfony/serializer": "For using the serializer service", - "symfony/validator": "For using validation", - "symfony/web-link": "For using web links, features such as preloading, prefetching or prerendering", - "symfony/yaml": "For using the debug:config and lint:yaml commands" + "ext-dom": "*", + "league/uri": "^6.5|^7.0", + "masterminds/html5": "^2.7.2", + "php": ">=8.1" }, - "type": "symfony-bundle", + "type": "library", "autoload": { "psr-4": { - "Symfony\\Bundle\\FrameworkBundle\\": "" + "Symfony\\Component\\HtmlSanitizer\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -6408,18 +6307,23 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Titouan Galopin", + "email": "galopintitouan@gmail.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", + "description": "Provides an object-oriented API to sanitize untrusted HTML input for safe insertion into a document's DOM.", "homepage": "https://symfony.com", + "keywords": [ + "Purifier", + "html", + "sanitizer" + ], "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v5.4.21" + "source": "https://github.com/symfony/html-sanitizer/tree/v6.4.0" }, "funding": [ { @@ -6435,36 +6339,38 @@ "type": "tidelift" } ], - "time": "2023-02-23T09:17:25+00:00" + "time": "2023-10-28T23:12:08+00:00" }, { "name": "symfony/http-client", - "version": "v5.4.26", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "19d48ef7f38e5057ed1789a503cd3eccef039bce" + "reference": "fc0944665bd932cf32a7b8a1d009466afc16528f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/19d48ef7f38e5057ed1789a503cd3eccef039bce", - "reference": "19d48ef7f38e5057ed1789a503cd3eccef039bce", + "url": "https://api.github.com/repos/symfony/http-client/zipball/fc0944665bd932cf32a7b8a1d009466afc16528f", + "reference": "fc0944665bd932cf32a7b8a1d009466afc16528f", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.1", "psr/log": "^1|^2|^3", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/http-client-contracts": "^2.4", - "symfony/polyfill-php73": "^1.11", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.0|^2|^3" + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-client-contracts": "^3", + "symfony/service-contracts": "^2.5|^3" + }, + "conflict": { + "php-http/discovery": "<1.15", + "symfony/http-foundation": "<6.3" }, "provide": { "php-http/async-client-implementation": "*", "php-http/client-implementation": "*", "psr/http-client-implementation": "1.0", - "symfony/http-client-implementation": "2.4" + "symfony/http-client-implementation": "3.0" }, "require-dev": { "amphp/amp": "^2.5", @@ -6474,12 +6380,12 @@ "guzzlehttp/promises": "^1.4", "nyholm/psr7": "^1.0", "php-http/httplug": "^1.0|^2.0", - "php-http/message-factory": "^1.0", "psr/http-client": "^1.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/http-kernel": "^4.4.13|^5.1.5|^6.0", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/stopwatch": "^4.4|^5.0|^6.0" + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -6510,7 +6416,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v5.4.26" + "source": "https://github.com/symfony/http-client/tree/v6.4.2" }, "funding": [ { @@ -6526,32 +6432,29 @@ "type": "tidelift" } ], - "time": "2023-07-03T12:14:50+00:00" + "time": "2023-12-02T12:49:56+00:00" }, { "name": "symfony/http-client-contracts", - "version": "v2.5.2", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70" + "reference": "1ee70e699b41909c209a0c930f11034b93578654" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70", - "reference": "ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/1ee70e699b41909c209a0c930f11034b93578654", + "reference": "1ee70e699b41909c209a0c930f11034b93578654", "shasum": "" }, "require": { - "php": ">=7.2.5" - }, - "suggest": { - "symfony/http-client-implementation": "" + "php": ">=8.1" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -6561,7 +6464,10 @@ "autoload": { "psr-4": { "Symfony\\Contracts\\HttpClient\\": "" - } + }, + "exclude-from-classmap": [ + "/Test/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6588,7 +6494,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v2.5.2" + "source": "https://github.com/symfony/http-client-contracts/tree/v3.4.0" }, "funding": [ { @@ -6604,39 +6510,40 @@ "type": "tidelift" } ], - "time": "2022-04-12T15:48:08+00:00" + "time": "2023-07-30T20:28:31+00:00" }, { "name": "symfony/http-foundation", - "version": "v5.4.31", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "f84fd4fd8311a541ceb2ae3f257841d002450a90" + "reference": "172d807f9ef3fc3fbed8377cc57c20d389269271" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f84fd4fd8311a541ceb2ae3f257841d002450a90", - "reference": "f84fd4fd8311a541ceb2ae3f257841d002450a90", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/172d807f9ef3fc3fbed8377cc57c20d389269271", + "reference": "172d807f9ef3fc3fbed8377cc57c20d389269271", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php80": "^1.16" + "symfony/polyfill-php83": "^1.27" }, - "require-dev": { - "predis/predis": "~1.0", - "symfony/cache": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4", - "symfony/mime": "^4.4|^5.0|^6.0", - "symfony/rate-limiter": "^5.2|^6.0" + "conflict": { + "symfony/cache": "<6.3" }, - "suggest": { - "symfony/mime": "To use the file extension guesser" + "require-dev": { + "doctrine/dbal": "^2.13.1|^3|^4", + "predis/predis": "^1.1|^2.0", + "symfony/cache": "^6.3|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0", + "symfony/mime": "^5.4|^6.0|^7.0", + "symfony/rate-limiter": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -6664,7 +6571,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.4.31" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.2" }, "funding": [ { @@ -6680,76 +6587,77 @@ "type": "tidelift" } ], - "time": "2023-11-06T22:05:57+00:00" + "time": "2023-12-27T22:16:42+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.4.31", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "d2fad58d32a7b4864d205a7289602a27ce75018c" + "reference": "13e8387320b5942d0dc408440c888e2d526efef4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d2fad58d32a7b4864d205a7289602a27ce75018c", - "reference": "d2fad58d32a7b4864d205a7289602a27ce75018c", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/13e8387320b5942d0dc408440c888e2d526efef4", + "reference": "13e8387320b5942d0dc408440c888e2d526efef4", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/log": "^1|^2", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/event-dispatcher": "^5.0|^6.0", - "symfony/http-foundation": "^5.4.21|^6.2.7", - "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1", + "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/error-handler": "^6.4|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/polyfill-ctype": "^1.8" }, "conflict": { "symfony/browser-kit": "<5.4", - "symfony/cache": "<5.0", - "symfony/config": "<5.0", - "symfony/console": "<4.4", - "symfony/dependency-injection": "<5.3", - "symfony/doctrine-bridge": "<5.0", - "symfony/form": "<5.0", - "symfony/http-client": "<5.0", - "symfony/mailer": "<5.0", - "symfony/messenger": "<5.0", - "symfony/translation": "<5.0", - "symfony/twig-bridge": "<5.0", - "symfony/validator": "<5.0", + "symfony/cache": "<5.4", + "symfony/config": "<6.1", + "symfony/console": "<5.4", + "symfony/dependency-injection": "<6.4", + "symfony/doctrine-bridge": "<5.4", + "symfony/form": "<5.4", + "symfony/http-client": "<5.4", + "symfony/http-client-contracts": "<2.5", + "symfony/mailer": "<5.4", + "symfony/messenger": "<5.4", + "symfony/translation": "<5.4", + "symfony/translation-contracts": "<2.5", + "symfony/twig-bridge": "<5.4", + "symfony/validator": "<6.4", + "symfony/var-dumper": "<6.3", "twig/twig": "<2.13" }, "provide": { - "psr/log-implementation": "1.0|2.0" + "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^5.4|^6.0", - "symfony/config": "^5.0|^6.0", - "symfony/console": "^4.4|^5.0|^6.0", - "symfony/css-selector": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^5.3|^6.0", - "symfony/dom-crawler": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", - "symfony/http-client-contracts": "^1.1|^2|^3", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/routing": "^4.4|^5.0|^6.0", - "symfony/stopwatch": "^4.4|^5.0|^6.0", - "symfony/translation": "^4.4|^5.0|^6.0", - "symfony/translation-contracts": "^1.1|^2|^3", + "symfony/browser-kit": "^5.4|^6.0|^7.0", + "symfony/clock": "^6.2|^7.0", + "symfony/config": "^6.1|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/css-selector": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/dom-crawler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/http-client-contracts": "^2.5|^3", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4.5|^6.0.5|^7.0", + "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.3|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/translation": "^5.4|^6.0|^7.0", + "symfony/translation-contracts": "^2.5|^3", + "symfony/uid": "^5.4|^6.0|^7.0", + "symfony/validator": "^6.4|^7.0", + "symfony/var-exporter": "^6.2|^7.0", "twig/twig": "^2.13|^3.0.4" }, - "suggest": { - "symfony/browser-kit": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "" - }, "type": "library", "autoload": { "psr-4": { @@ -6776,7 +6684,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.4.31" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.2" }, "funding": [ { @@ -6792,41 +6700,35 @@ "type": "tidelift" } ], - "time": "2023-11-10T13:39:09+00:00" + "time": "2023-12-30T15:31:44+00:00" }, { "name": "symfony/intl", - "version": "v5.4.21", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/intl.git", - "reference": "32c2d958b88f5c7f0b080774d7d15d4c87769bc8" + "reference": "4f45148f7eb984ef12b1f7e123205ab904828839" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/intl/zipball/32c2d958b88f5c7f0b080774d7d15d4c87769bc8", - "reference": "32c2d958b88f5c7f0b080774d7d15d4c87769bc8", + "url": "https://api.github.com/repos/symfony/intl/zipball/4f45148f7eb984ef12b1f7e123205ab904828839", + "reference": "4f45148f7eb984ef12b1f7e123205ab904828839", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1" }, "require-dev": { - "symfony/filesystem": "^4.4|^5.0|^6.0" + "symfony/filesystem": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/var-exporter": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { - "files": [ - "Resources/functions.php" - ], "psr-4": { "Symfony\\Component\\Intl\\": "" }, - "classmap": [ - "Resources/stubs" - ], "exclude-from-classmap": [ "/Tests/" ] @@ -6853,7 +6755,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Provides a PHP replacement layer for the C intl extension that includes additional data from the ICU library", + "description": "Provides access to the localization data of the ICU library", "homepage": "https://symfony.com", "keywords": [ "i18n", @@ -6864,7 +6766,7 @@ "localization" ], "support": { - "source": "https://github.com/symfony/intl/tree/v5.4.21" + "source": "https://github.com/symfony/intl/tree/v6.4.2" }, "funding": [ { @@ -6880,39 +6782,43 @@ "type": "tidelift" } ], - "time": "2023-02-17T21:35:35+00:00" + "time": "2023-12-26T18:38:00+00:00" }, { "name": "symfony/mailer", - "version": "v5.4.21", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "60c5f5a29399ff591fadd99da345a4a8bf048c41" + "reference": "6da89e5c9202f129717a770a03183fb140720168" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/60c5f5a29399ff591fadd99da345a4a8bf048c41", - "reference": "60c5f5a29399ff591fadd99da345a4a8bf048c41", + "url": "https://api.github.com/repos/symfony/mailer/zipball/6da89e5c9202f129717a770a03183fb140720168", + "reference": "6da89e5c9202f129717a770a03183fb140720168", "shasum": "" }, "require": { "egulias/email-validator": "^2.1.10|^3|^4", - "php": ">=7.2.5", + "php": ">=8.1", "psr/event-dispatcher": "^1", "psr/log": "^1|^2|^3", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/event-dispatcher": "^4.4|^5.0|^6.0", - "symfony/mime": "^5.2.6|^6.0", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1|^2|^3" + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/mime": "^6.2|^7.0", + "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "symfony/http-kernel": "<4.4" + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<5.4", + "symfony/messenger": "<6.2", + "symfony/mime": "<6.2", + "symfony/twig-bridge": "<6.2.1" }, "require-dev": { - "symfony/http-client": "^4.4|^5.0|^6.0", - "symfony/messenger": "^4.4|^5.0|^6.0" + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/messenger": "^6.2|^7.0", + "symfony/twig-bridge": "^6.2|^7.0" }, "type": "library", "autoload": { @@ -6940,7 +6846,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v5.4.21" + "source": "https://github.com/symfony/mailer/tree/v6.4.2" }, "funding": [ { @@ -6956,43 +6862,43 @@ "type": "tidelift" } ], - "time": "2023-02-21T10:48:16+00:00" + "time": "2023-12-19T09:12:31+00:00" }, { "name": "symfony/mime", - "version": "v5.4.23", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "ae0a1032a450a3abf305ee44fc55ed423fbf16e3" + "reference": "ca4f58b2ef4baa8f6cecbeca2573f88cd577d205" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/ae0a1032a450a3abf305ee44fc55ed423fbf16e3", - "reference": "ae0a1032a450a3abf305ee44fc55ed423fbf16e3", + "url": "https://api.github.com/repos/symfony/mime/zipball/ca4f58b2ef4baa8f6cecbeca2573f88cd577d205", + "reference": "ca4f58b2ef4baa8f6cecbeca2573f88cd577d205", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-php80": "^1.16" + "symfony/polyfill-mbstring": "^1.0" }, "conflict": { "egulias/email-validator": "~3.0.0", "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", - "symfony/mailer": "<4.4", - "symfony/serializer": "<5.4.14|>=6.0,<6.0.14|>=6.1,<6.1.6" + "symfony/mailer": "<5.4", + "symfony/serializer": "<6.3.2" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3.1|^4", + "league/html-to-markdown": "^5.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/property-access": "^4.4|^5.1|^6.0", - "symfony/property-info": "^4.4|^5.1|^6.0", - "symfony/serializer": "^5.4.14|~6.0.14|^6.1.6" + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4|^6.0|^7.0", + "symfony/property-info": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.3.2|^7.0" }, "type": "library", "autoload": { @@ -7024,7 +6930,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v5.4.23" + "source": "https://github.com/symfony/mime/tree/v6.4.0" }, "funding": [ { @@ -7040,27 +6946,25 @@ "type": "tidelift" } ], - "time": "2023-04-19T09:49:13+00:00" + "time": "2023-10-17T11:49:05+00:00" }, { "name": "symfony/options-resolver", - "version": "v5.4.21", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9" + "reference": "22301f0e7fdeaacc14318928612dee79be99860e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9", - "reference": "4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/22301f0e7fdeaacc14318928612dee79be99860e", + "reference": "22301f0e7fdeaacc14318928612dee79be99860e", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php73": "~1.0", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3" }, "type": "library", "autoload": { @@ -7093,7 +6997,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v5.4.21" + "source": "https://github.com/symfony/options-resolver/tree/v6.4.0" }, "funding": [ { @@ -7109,33 +7013,31 @@ "type": "tidelift" } ], - "time": "2023-02-14T08:03:56+00:00" + "time": "2023-08-08T10:16:24+00:00" }, { "name": "symfony/password-hasher", - "version": "v5.4.31", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/password-hasher.git", - "reference": "f1a07181f3442836b0aadfd4c65841804d4173c4" + "reference": "e001f752338a49d644ee0523fd7891aabaccb7e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/password-hasher/zipball/f1a07181f3442836b0aadfd4c65841804d4173c4", - "reference": "f1a07181f3442836b0aadfd4c65841804d4173c4", + "url": "https://api.github.com/repos/symfony/password-hasher/zipball/e001f752338a49d644ee0523fd7891aabaccb7e2", + "reference": "e001f752338a49d644ee0523fd7891aabaccb7e2", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.15" + "php": ">=8.1" }, "conflict": { - "symfony/security-core": "<5.3" + "symfony/security-core": "<5.4" }, "require-dev": { - "symfony/console": "^5.3|^6.0", - "symfony/security-core": "^5.3|^6.0" + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/security-core": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -7167,7 +7069,7 @@ "password" ], "support": { - "source": "https://github.com/symfony/password-hasher/tree/v5.4.31" + "source": "https://github.com/symfony/password-hasher/tree/v6.4.0" }, "funding": [ { @@ -7183,7 +7085,7 @@ "type": "tidelift" } ], - "time": "2023-11-02T10:18:11+00:00" + "time": "2023-11-06T11:00:25+00:00" }, { "name": "symfony/polyfill-intl-grapheme", @@ -7268,16 +7170,16 @@ }, { "name": "symfony/polyfill-intl-icu", - "version": "v1.27.0", + "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "a3d9148e2c363588e05abbdd4ee4f971f0a5330c" + "reference": "e46b4da57951a16053cd751f63f4a24292788157" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/a3d9148e2c363588e05abbdd4ee4f971f0a5330c", - "reference": "a3d9148e2c363588e05abbdd4ee4f971f0a5330c", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/e46b4da57951a16053cd751f63f4a24292788157", + "reference": "e46b4da57951a16053cd751f63f4a24292788157", "shasum": "" }, "require": { @@ -7289,7 +7191,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -7335,7 +7237,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.28.0" }, "funding": [ { @@ -7351,7 +7253,7 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2023-03-21T17:27:24+00:00" }, { "name": "symfony/polyfill-intl-idn", @@ -7442,16 +7344,16 @@ }, { "name": "symfony/polyfill-intl-messageformatter", - "version": "v1.27.0", + "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-messageformatter.git", - "reference": "861fe322b162bc23822a1ee0bd62d5c7eef8c6c7" + "reference": "695939f0c6342f252050ad3e6b855ac745b99e18" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-messageformatter/zipball/861fe322b162bc23822a1ee0bd62d5c7eef8c6c7", - "reference": "861fe322b162bc23822a1ee0bd62d5c7eef8c6c7", + "url": "https://api.github.com/repos/symfony/polyfill-intl-messageformatter/zipball/695939f0c6342f252050ad3e6b855ac745b99e18", + "reference": "695939f0c6342f252050ad3e6b855ac745b99e18", "shasum": "" }, "require": { @@ -7463,7 +7365,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -7506,7 +7408,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-messageformatter/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-intl-messageformatter/tree/v1.28.0" }, "funding": [ { @@ -7522,7 +7424,7 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-intl-normalizer", @@ -7767,85 +7669,6 @@ ], "time": "2023-01-26T09:26:14+00:00" }, - { - "name": "symfony/polyfill-php73", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fe2f306d1d9d346a7fee353d0d5012e401e984b5", - "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.28.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-26T09:26:14+00:00" - }, { "name": "symfony/polyfill-php80", "version": "v1.28.0", @@ -7930,26 +7753,27 @@ "time": "2023-01-26T09:26:14+00:00" }, { - "name": "symfony/polyfill-php81", - "version": "v1.27.0", + "name": "symfony/polyfill-php83", + "version": "v1.28.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a" + "url": "https://github.com/symfony/polyfill-php83.git", + "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a", - "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", + "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.1", + "symfony/polyfill-php80": "^1.14" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -7961,7 +7785,7 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Php81\\": "" + "Symfony\\Polyfill\\Php83\\": "" }, "classmap": [ "Resources/stubs" @@ -7981,7 +7805,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ "compatibility", @@ -7990,7 +7814,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.28.0" }, "funding": [ { @@ -8006,25 +7830,24 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2023-08-16T06:22:46+00:00" }, { "name": "symfony/process", - "version": "v5.4.21", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "d4ce417ebcb0b7d090b4c178ed6d3accc518e8bd" + "reference": "c4b1ef0bc80533d87a2e969806172f1c2a980241" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/d4ce417ebcb0b7d090b4c178ed6d3accc518e8bd", - "reference": "d4ce417ebcb0b7d090b4c178ed6d3accc518e8bd", + "url": "https://api.github.com/repos/symfony/process/zipball/c4b1ef0bc80533d87a2e969806172f1c2a980241", + "reference": "c4b1ef0bc80533d87a2e969806172f1c2a980241", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1" }, "type": "library", "autoload": { @@ -8052,7 +7875,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.4.21" + "source": "https://github.com/symfony/process/tree/v6.4.2" }, "funding": [ { @@ -8068,33 +7891,29 @@ "type": "tidelift" } ], - "time": "2023-02-21T19:46:44+00:00" + "time": "2023-12-22T16:42:54+00:00" }, { "name": "symfony/property-access", - "version": "v5.4.26", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "0249e46f69e92049a488f39fcf531cb42c50caaa" + "reference": "75f6990ae8e8040dd587162f3f1863f755957129" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/0249e46f69e92049a488f39fcf531cb42c50caaa", - "reference": "0249e46f69e92049a488f39fcf531cb42c50caaa", + "url": "https://api.github.com/repos/symfony/property-access/zipball/75f6990ae8e8040dd587162f3f1863f755957129", + "reference": "75f6990ae8e8040dd587162f3f1863f755957129", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16", - "symfony/property-info": "^5.2|^6.0" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/property-info": "^5.4|^6.0|^7.0" }, "require-dev": { - "symfony/cache": "^4.4|^5.0|^6.0" - }, - "suggest": { - "psr/cache-implementation": "To cache access methods." + "symfony/cache": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -8133,7 +7952,7 @@ "reflection" ], "support": { - "source": "https://github.com/symfony/property-access/tree/v5.4.26" + "source": "https://github.com/symfony/property-access/tree/v6.4.0" }, "funding": [ { @@ -8149,46 +7968,38 @@ "type": "tidelift" } ], - "time": "2023-07-13T15:20:41+00:00" + "time": "2023-09-25T12:52:38+00:00" }, { "name": "symfony/property-info", - "version": "v5.4.24", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/property-info.git", - "reference": "d43b85b00699b4484964c297575b5c6f9dc5f6e1" + "reference": "288be71bae2ebc88676f5d3a03d23f70b278fcc1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/d43b85b00699b4484964c297575b5c6f9dc5f6e1", - "reference": "d43b85b00699b4484964c297575b5c6f9dc5f6e1", + "url": "https://api.github.com/repos/symfony/property-info/zipball/288be71bae2ebc88676f5d3a03d23f70b278fcc1", + "reference": "288be71bae2ebc88676f5d3a03d23f70b278fcc1", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16", - "symfony/string": "^5.1|^6.0" + "php": ">=8.1", + "symfony/string": "^5.4|^6.0|^7.0" }, "conflict": { - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/dependency-injection": "<4.4" + "phpdocumentor/reflection-docblock": "<5.2", + "phpdocumentor/type-resolver": "<1.5.1", + "symfony/dependency-injection": "<5.4", + "symfony/serializer": "<6.4" }, "require-dev": { - "doctrine/annotations": "^1.10.4|^2", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "phpdocumentor/reflection-docblock": "^5.2", "phpstan/phpdoc-parser": "^1.0", - "symfony/cache": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/serializer": "^4.4|^5.0|^6.0" - }, - "suggest": { - "phpdocumentor/reflection-docblock": "To use the PHPDoc", - "psr/cache-implementation": "To cache results", - "symfony/doctrine-bridge": "To use Doctrine metadata", - "symfony/serializer": "To use Serializer metadata" + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -8224,7 +8035,7 @@ "validator" ], "support": { - "source": "https://github.com/symfony/property-info/tree/v5.4.24" + "source": "https://github.com/symfony/property-info/tree/v6.4.0" }, "funding": [ { @@ -8240,47 +8051,40 @@ "type": "tidelift" } ], - "time": "2023-05-15T20:11:03+00:00" + "time": "2023-11-25T16:57:46+00:00" }, { "name": "symfony/routing", - "version": "v5.4.21", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "2ea0f3049076e8ef96eab203a809d6b2332f0361" + "reference": "98eab13a07fddc85766f1756129c69f207ffbc21" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/2ea0f3049076e8ef96eab203a809d6b2332f0361", - "reference": "2ea0f3049076e8ef96eab203a809d6b2332f0361", + "url": "https://api.github.com/repos/symfony/routing/zipball/98eab13a07fddc85766f1756129c69f207ffbc21", + "reference": "98eab13a07fddc85766f1756129c69f207ffbc21", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { "doctrine/annotations": "<1.12", - "symfony/config": "<5.3", - "symfony/dependency-injection": "<4.4", - "symfony/yaml": "<4.4" + "symfony/config": "<6.2", + "symfony/dependency-injection": "<5.4", + "symfony/yaml": "<5.4" }, "require-dev": { "doctrine/annotations": "^1.12|^2", "psr/log": "^1|^2|^3", - "symfony/config": "^5.3|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^4.4|^5.0|^6.0", - "symfony/yaml": "^4.4|^5.0|^6.0" - }, - "suggest": { - "symfony/config": "For using the all-in-one router or any loader", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" + "symfony/config": "^6.2|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -8314,7 +8118,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v5.4.21" + "source": "https://github.com/symfony/routing/tree/v6.4.2" }, "funding": [ { @@ -8330,36 +8134,35 @@ "type": "tidelift" } ], - "time": "2023-02-16T09:33:00+00:00" + "time": "2023-12-29T15:34:34+00:00" }, { "name": "symfony/runtime", - "version": "v5.4.21", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/runtime.git", - "reference": "da8ebb6c2ca375c19a915527fb1b20332b668151" + "reference": "86539231fadfdc7f7e9911d6fa7ed84a606e7d34" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/runtime/zipball/da8ebb6c2ca375c19a915527fb1b20332b668151", - "reference": "da8ebb6c2ca375c19a915527fb1b20332b668151", + "url": "https://api.github.com/repos/symfony/runtime/zipball/86539231fadfdc7f7e9911d6fa7ed84a606e7d34", + "reference": "86539231fadfdc7f7e9911d6fa7ed84a606e7d34", "shasum": "" }, "require": { "composer-plugin-api": "^1.0|^2.0", - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.15" + "php": ">=8.1" }, "conflict": { - "symfony/dotenv": "<5.1" + "symfony/dotenv": "<5.4" }, "require-dev": { "composer/composer": "^1.0.2|^2.0", - "symfony/console": "^4.4.30|^5.3.7|^6.0", - "symfony/dotenv": "^5.1|^6.0", - "symfony/http-foundation": "^4.4.30|^5.3.7|^6.0", - "symfony/http-kernel": "^4.4.30|^5.3.7|^6.0" + "symfony/console": "^5.4.9|^6.0.9|^7.0", + "symfony/dotenv": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0" }, "type": "composer-plugin", "extra": { @@ -8388,112 +8191,13 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Enables decoupling PHP applications from global state", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/runtime/tree/v5.4.21" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-24T14:02:46+00:00" - }, - { - "name": "symfony/security-bundle", - "version": "v5.4.21", - "source": { - "type": "git", - "url": "https://github.com/symfony/security-bundle.git", - "reference": "a85747ee4508d236e171a3cc8c2ce58c5f24f990" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/security-bundle/zipball/a85747ee4508d236e171a3cc8c2ce58c5f24f990", - "reference": "a85747ee4508d236e171a3cc8c2ce58c5f24f990", - "shasum": "" - }, - "require": { - "ext-xml": "*", - "php": ">=7.2.5", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^5.3|^6.0", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/event-dispatcher": "^5.1|^6.0", - "symfony/http-foundation": "^5.3|^6.0", - "symfony/http-kernel": "^5.3|^6.0", - "symfony/password-hasher": "^5.3|^6.0", - "symfony/polyfill-php80": "^1.16", - "symfony/security-core": "^5.4|^6.0", - "symfony/security-csrf": "^4.4|^5.0|^6.0", - "symfony/security-guard": "^5.3", - "symfony/security-http": "^5.4.20|~6.0.20|~6.1.12|^6.2.6" - }, - "conflict": { - "symfony/browser-kit": "<4.4", - "symfony/console": "<4.4", - "symfony/framework-bundle": "<4.4", - "symfony/ldap": "<5.1", - "symfony/twig-bundle": "<4.4" - }, - "require-dev": { - "doctrine/annotations": "^1.10.4|^2", - "symfony/asset": "^4.4|^5.0|^6.0", - "symfony/browser-kit": "^4.4|^5.0|^6.0", - "symfony/console": "^4.4|^5.0|^6.0", - "symfony/css-selector": "^4.4|^5.0|^6.0", - "symfony/dom-crawler": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/form": "^4.4|^5.0|^6.0", - "symfony/framework-bundle": "^5.3|^6.0", - "symfony/ldap": "^5.3|^6.0", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/rate-limiter": "^5.2|^6.0", - "symfony/serializer": "^4.4|^5.0|^6.0", - "symfony/translation": "^4.4|^5.0|^6.0", - "symfony/twig-bridge": "^4.4|^5.0|^6.0", - "symfony/twig-bundle": "^4.4|^5.0|^6.0", - "symfony/validator": "^4.4|^5.0|^6.0", - "symfony/yaml": "^4.4|^5.0|^6.0", - "twig/twig": "^2.13|^3.0.4" - }, - "type": "symfony-bundle", - "autoload": { - "psr-4": { - "Symfony\\Bundle\\SecurityBundle\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides a tight integration of the Security component into the Symfony full-stack framework", + "description": "Enables decoupling PHP applications from global state", "homepage": "https://symfony.com", + "keywords": [ + "runtime" + ], "support": { - "source": "https://github.com/symfony/security-bundle/tree/v5.4.21" + "source": "https://github.com/symfony/runtime/tree/v6.4.0" }, "funding": [ { @@ -8509,61 +8213,80 @@ "type": "tidelift" } ], - "time": "2023-02-26T12:08:44+00:00" + "time": "2023-10-18T09:43:34+00:00" }, { - "name": "symfony/security-core", - "version": "v5.4.30", + "name": "symfony/security-bundle", + "version": "v6.4.2", "source": { "type": "git", - "url": "https://github.com/symfony/security-core.git", - "reference": "3908c54da30dd68c2fe31915d82a1c81809d1928" + "url": "https://github.com/symfony/security-bundle.git", + "reference": "97d4fb6dbee700937738036ec54b0fcb0641d7d6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-core/zipball/3908c54da30dd68c2fe31915d82a1c81809d1928", - "reference": "3908c54da30dd68c2fe31915d82a1c81809d1928", + "url": "https://api.github.com/repos/symfony/security-bundle/zipball/97d4fb6dbee700937738036ec54b0fcb0641d7d6", + "reference": "97d4fb6dbee700937738036ec54b0fcb0641d7d6", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/event-dispatcher-contracts": "^1.1|^2|^3", - "symfony/password-hasher": "^5.3|^6.0", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1.6|^2|^3" + "composer-runtime-api": ">=2.1", + "ext-xml": "*", + "php": ">=8.1", + "symfony/clock": "^6.3|^7.0", + "symfony/config": "^6.1|^7.0", + "symfony/dependency-injection": "^6.2|^7.0", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.2|^7.0", + "symfony/http-kernel": "^6.2", + "symfony/password-hasher": "^5.4|^6.0|^7.0", + "symfony/security-core": "^6.2|^7.0", + "symfony/security-csrf": "^5.4|^6.0|^7.0", + "symfony/security-http": "^6.3.6|^7.0", + "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "symfony/event-dispatcher": "<4.4", - "symfony/http-foundation": "<5.3", - "symfony/ldap": "<4.4", - "symfony/security-guard": "<4.4", - "symfony/validator": "<5.2" - }, - "require-dev": { - "psr/cache": "^1.0|^2.0|^3.0", - "psr/container": "^1.0|^2.0", - "psr/log": "^1|^2|^3", - "symfony/cache": "^4.4|^5.0|^6.0", - "symfony/event-dispatcher": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^5.3|^6.0", - "symfony/ldap": "^4.4|^5.0|^6.0", - "symfony/translation": "^4.4|^5.0|^6.0", - "symfony/validator": "^5.2|^6.0" - }, - "suggest": { - "psr/container-implementation": "To instantiate the Security class", - "symfony/event-dispatcher": "", - "symfony/expression-language": "For using the expression voter", - "symfony/http-foundation": "", - "symfony/ldap": "For using LDAP integration", - "symfony/validator": "For using the user password constraint" + "symfony/browser-kit": "<5.4", + "symfony/console": "<5.4", + "symfony/framework-bundle": "<6.4", + "symfony/http-client": "<5.4", + "symfony/ldap": "<5.4", + "symfony/serializer": "<6.4", + "symfony/twig-bundle": "<5.4", + "symfony/validator": "<6.4" + }, + "require-dev": { + "symfony/asset": "^5.4|^6.0|^7.0", + "symfony/browser-kit": "^5.4|^6.0|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/css-selector": "^5.4|^6.0|^7.0", + "symfony/dom-crawler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/form": "^5.4|^6.0|^7.0", + "symfony/framework-bundle": "^6.4|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/ldap": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/rate-limiter": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.4|^7.0", + "symfony/translation": "^5.4|^6.0|^7.0", + "symfony/twig-bridge": "^5.4|^6.0|^7.0", + "symfony/twig-bundle": "^5.4|^6.0|^7.0", + "symfony/validator": "^6.4|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0", + "twig/twig": "^2.13|^3.0.4", + "web-token/jwt-checker": "^3.1", + "web-token/jwt-signature-algorithm-ecdsa": "^3.1", + "web-token/jwt-signature-algorithm-eddsa": "^3.1", + "web-token/jwt-signature-algorithm-hmac": "^3.1", + "web-token/jwt-signature-algorithm-none": "^3.1", + "web-token/jwt-signature-algorithm-rsa": "^3.1" }, - "type": "library", + "type": "symfony-bundle", "autoload": { "psr-4": { - "Symfony\\Component\\Security\\Core\\": "" + "Symfony\\Bundle\\SecurityBundle\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -8583,10 +8306,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Security Component - Core Library", + "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-core/tree/v5.4.30" + "source": "https://github.com/symfony/security-bundle/tree/v6.4.2" }, "funding": [ { @@ -8602,40 +8325,53 @@ "type": "tidelift" } ], - "time": "2023-10-27T07:38:28+00:00" + "time": "2023-12-24T09:11:31+00:00" }, { - "name": "symfony/security-csrf", - "version": "v5.4.21", + "name": "symfony/security-core", + "version": "v6.4.0", "source": { "type": "git", - "url": "https://github.com/symfony/security-csrf.git", - "reference": "776a538e5f20fb560a182f790979c71455694203" + "url": "https://github.com/symfony/security-core.git", + "reference": "9e24a7199744d944c03fc1448276dc57f6237a33" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-csrf/zipball/776a538e5f20fb560a182f790979c71455694203", - "reference": "776a538e5f20fb560a182f790979c71455694203", + "url": "https://api.github.com/repos/symfony/security-core/zipball/9e24a7199744d944c03fc1448276dc57f6237a33", + "reference": "9e24a7199744d944c03fc1448276dc57f6237a33", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16", - "symfony/security-core": "^4.4|^5.0|^6.0" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/event-dispatcher-contracts": "^2.5|^3", + "symfony/password-hasher": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "symfony/http-foundation": "<5.3" + "symfony/event-dispatcher": "<5.4", + "symfony/http-foundation": "<5.4", + "symfony/ldap": "<5.4", + "symfony/security-guard": "<5.4", + "symfony/validator": "<5.4" }, "require-dev": { - "symfony/http-foundation": "^5.3|^6.0" - }, - "suggest": { - "symfony/http-foundation": "For using the class SessionTokenStorage." + "psr/cache": "^1.0|^2.0|^3.0", + "psr/container": "^1.1|^2.0", + "psr/log": "^1|^2|^3", + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/ldap": "^5.4|^6.0|^7.0", + "symfony/string": "^5.4|^6.0|^7.0", + "symfony/translation": "^5.4|^6.0|^7.0", + "symfony/validator": "^6.4|^7.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Security\\Csrf\\": "" + "Symfony\\Component\\Security\\Core\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -8655,10 +8391,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Security Component - CSRF Library", + "description": "Symfony Security Component - Core Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-csrf/tree/v5.4.21" + "source": "https://github.com/symfony/security-core/tree/v6.4.0" }, "funding": [ { @@ -8674,35 +8410,36 @@ "type": "tidelift" } ], - "time": "2023-02-16T09:33:00+00:00" + "time": "2023-11-06T17:20:05+00:00" }, { - "name": "symfony/security-guard", - "version": "v5.4.21", + "name": "symfony/security-csrf", + "version": "v6.4.0", "source": { "type": "git", - "url": "https://github.com/symfony/security-guard.git", - "reference": "22d3c7e9692e4484662e1e59599e0d47a2f945ce" + "url": "https://github.com/symfony/security-csrf.git", + "reference": "b28413496ebfce2f98afbb990ad0ce0ba3586638" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-guard/zipball/22d3c7e9692e4484662e1e59599e0d47a2f945ce", - "reference": "22d3c7e9692e4484662e1e59599e0d47a2f945ce", + "url": "https://api.github.com/repos/symfony/security-csrf/zipball/b28413496ebfce2f98afbb990ad0ce0ba3586638", + "reference": "b28413496ebfce2f98afbb990ad0ce0ba3586638", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.15", - "symfony/security-core": "^5.0", - "symfony/security-http": "^5.3" + "php": ">=8.1", + "symfony/security-core": "^5.4|^6.0|^7.0" + }, + "conflict": { + "symfony/http-foundation": "<5.4" }, "require-dev": { - "psr/log": "^1|^2|^3" + "symfony/http-foundation": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Security\\Guard\\": "" + "Symfony\\Component\\Security\\Csrf\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -8722,10 +8459,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Security Component - Guard", + "description": "Symfony Security Component - CSRF Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-guard/tree/v5.4.21" + "source": "https://github.com/symfony/security-csrf/tree/v6.4.0" }, "funding": [ { @@ -8741,49 +8478,51 @@ "type": "tidelift" } ], - "time": "2023-02-26T12:08:44+00:00" + "time": "2023-08-25T16:27:31+00:00" }, { "name": "symfony/security-http", - "version": "v5.4.31", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/security-http.git", - "reference": "6d3cd5a4deee9697738db8d24258890ca4140ae9" + "reference": "1b49ad8e9f2c3ceec011d67ac09e774e4107416b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-http/zipball/6d3cd5a4deee9697738db8d24258890ca4140ae9", - "reference": "6d3cd5a4deee9697738db8d24258890ca4140ae9", + "url": "https://api.github.com/repos/symfony/security-http/zipball/1b49ad8e9f2c3ceec011d67ac09e774e4107416b", + "reference": "1b49ad8e9f2c3ceec011d67ac09e774e4107416b", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/http-foundation": "^5.3|^6.0", - "symfony/http-kernel": "^5.3|^6.0", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-foundation": "^6.2|^7.0", + "symfony/http-kernel": "^6.3|^7.0", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/property-access": "^4.4|^5.0|^6.0", - "symfony/security-core": "^5.4.19|~6.0.19|~6.1.11|^6.2.5", - "symfony/service-contracts": "^1.10|^2|^3" + "symfony/property-access": "^5.4|^6.0|^7.0", + "symfony/security-core": "^6.4|^7.0", + "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "symfony/event-dispatcher": "<4.3", - "symfony/security-bundle": "<5.3", - "symfony/security-csrf": "<4.4" + "symfony/clock": "<6.3", + "symfony/event-dispatcher": "<5.4.9|>=6,<6.0.9", + "symfony/http-client-contracts": "<3.0", + "symfony/security-bundle": "<5.4", + "symfony/security-csrf": "<5.4" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/cache": "^4.4|^5.0|^6.0", - "symfony/rate-limiter": "^5.2|^6.0", - "symfony/routing": "^4.4|^5.0|^6.0", - "symfony/security-csrf": "^4.4|^5.0|^6.0", - "symfony/translation": "^4.4|^5.0|^6.0" - }, - "suggest": { - "symfony/routing": "For using the HttpUtils class to create sub-requests, redirect the user, and match URLs", - "symfony/security-csrf": "For using tokens to protect authentication/logout attempts" + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/clock": "^6.3|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-client-contracts": "^3.0", + "symfony/rate-limiter": "^5.4|^6.0|^7.0", + "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/security-csrf": "^5.4|^6.0|^7.0", + "symfony/translation": "^5.4|^6.0|^7.0", + "web-token/jwt-checker": "^3.1", + "web-token/jwt-signature-algorithm-ecdsa": "^3.1" }, "type": "library", "autoload": { @@ -8811,7 +8550,7 @@ "description": "Symfony Security Component - HTTP Integration", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-http/tree/v5.4.31" + "source": "https://github.com/symfony/security-http/tree/v6.4.0" }, "funding": [ { @@ -8827,66 +8566,61 @@ "type": "tidelift" } ], - "time": "2023-11-03T16:13:08+00:00" + "time": "2023-11-24T21:18:21+00:00" }, { "name": "symfony/serializer", - "version": "v5.4.21", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "e35b42d69a8b447cc3e6c9b3f98938c596b6c60a" + "reference": "f87ea9d7bfd4cf2f7b72be554607e6c96e6664af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/e35b42d69a8b447cc3e6c9b3f98938c596b6c60a", - "reference": "e35b42d69a8b447cc3e6c9b3f98938c596b6c60a", + "url": "https://api.github.com/repos/symfony/serializer/zipball/f87ea9d7bfd4cf2f7b72be554607e6c96e6664af", + "reference": "f87ea9d7bfd4cf2f7b72be554607e6c96e6664af", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-ctype": "~1.8" }, "conflict": { "doctrine/annotations": "<1.12", "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0|>=1.7.0", - "symfony/dependency-injection": "<4.4", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/dependency-injection": "<5.4", "symfony/property-access": "<5.4", - "symfony/property-info": "<5.3.13", - "symfony/uid": "<5.3", - "symfony/yaml": "<4.4" + "symfony/property-info": "<5.4.24|>=6,<6.2.11", + "symfony/uid": "<5.4", + "symfony/validator": "<6.4", + "symfony/yaml": "<5.4" }, "require-dev": { "doctrine/annotations": "^1.12|^2", "phpdocumentor/reflection-docblock": "^3.2|^4.0|^5.0", - "symfony/cache": "^4.4|^5.0|^6.0", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/filesystem": "^4.4|^5.0|^6.0", - "symfony/form": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^4.4|^5.0|^6.0", - "symfony/http-kernel": "^4.4|^5.0|^6.0", - "symfony/mime": "^4.4|^5.0|^6.0", - "symfony/property-access": "^5.4|^6.0", - "symfony/property-info": "^5.3.13|^6.0", - "symfony/uid": "^5.3|^6.0", - "symfony/validator": "^4.4|^5.0|^6.0", - "symfony/var-dumper": "^4.4|^5.0|^6.0", - "symfony/var-exporter": "^4.4|^5.0|^6.0", - "symfony/yaml": "^4.4|^5.0|^6.0" - }, - "suggest": { - "psr/cache-implementation": "For using the metadata cache.", - "symfony/config": "For using the XML mapping loader.", - "symfony/mime": "For using a MIME type guesser within the DataUriNormalizer.", - "symfony/property-access": "For using the ObjectNormalizer.", - "symfony/property-info": "To deserialize relations.", - "symfony/var-exporter": "For using the metadata compiler.", - "symfony/yaml": "For using the default YAML mapping loader." + "seld/jsonlint": "^1.10", + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/filesystem": "^5.4|^6.0|^7.0", + "symfony/form": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/mime": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4|^6.0|^7.0", + "symfony/property-info": "^5.4.24|^6.2.11|^7.0", + "symfony/translation-contracts": "^2.5|^3", + "symfony/uid": "^5.4|^6.0|^7.0", + "symfony/validator": "^6.4|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0", + "symfony/var-exporter": "^5.4|^6.0|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -8914,7 +8648,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.4.21" + "source": "https://github.com/symfony/serializer/tree/v6.4.2" }, "funding": [ { @@ -8930,37 +8664,33 @@ "type": "tidelift" } ], - "time": "2023-02-21T19:46:44+00:00" + "time": "2023-12-29T15:34:34+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.5.2", + "version": "v3.4.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c" + "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c", - "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/fe07cbc8d837f60caf7018068e350cc5163681a0", + "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/container": "^1.1", - "symfony/deprecation-contracts": "^2.1|^3" + "php": ">=8.1", + "psr/container": "^1.1|^2.0" }, "conflict": { "ext-psr": "<1.1|>=2" }, - "suggest": { - "symfony/service-implementation": "" - }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -8970,7 +8700,10 @@ "autoload": { "psr-4": { "Symfony\\Contracts\\Service\\": "" - } + }, + "exclude-from-classmap": [ + "/Test/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -8997,7 +8730,76 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v2.5.2" + "source": "https://github.com/symfony/service-contracts/tree/v3.4.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-12-26T14:02:43+00:00" + }, + { + "name": "symfony/stimulus-bundle", + "version": "v2.13.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/stimulus-bundle.git", + "reference": "40a4416e6d8da7deb18a75bb9b8e7ce955cf653d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/stimulus-bundle/zipball/40a4416e6d8da7deb18a75bb9b8e7ce955cf653d", + "reference": "40a4416e6d8da7deb18a75bb9b8e7ce955cf653d", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/deprecation-contracts": "^2.0|^3.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "twig/twig": "^2.15.3|^3.4.3" + }, + "require-dev": { + "symfony/asset-mapper": "^6.3|^7.0", + "symfony/framework-bundle": "^5.4|^6.0|^7.0", + "symfony/phpunit-bridge": "^5.4|^6.0|^7.0", + "symfony/twig-bundle": "^5.4|^6.0|^7.0", + "zenstruck/browser": "^1.4" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "Symfony\\UX\\StimulusBundle\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Integration with your Symfony app & Stimulus!", + "keywords": [ + "symfony-ux" + ], + "support": { + "source": "https://github.com/symfony/stimulus-bundle/tree/v2.13.3" }, "funding": [ { @@ -9013,25 +8815,25 @@ "type": "tidelift" } ], - "time": "2022-05-30T19:17:29+00:00" + "time": "2023-11-30T20:29:09+00:00" }, { "name": "symfony/stopwatch", - "version": "v5.4.21", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "f83692cd869a6f2391691d40a01e8acb89e76fee" + "reference": "fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/f83692cd869a6f2391691d40a01e8acb89e76fee", - "reference": "f83692cd869a6f2391691d40a01e8acb89e76fee", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2", + "reference": "fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/service-contracts": "^1|^2|^3" + "php": ">=8.1", + "symfony/service-contracts": "^2.5|^3" }, "type": "library", "autoload": { @@ -9059,7 +8861,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v5.4.21" + "source": "https://github.com/symfony/stopwatch/tree/v6.4.0" }, "funding": [ { @@ -9075,38 +8877,38 @@ "type": "tidelift" } ], - "time": "2023-02-14T08:03:56+00:00" + "time": "2023-02-16T10:14:28+00:00" }, { "name": "symfony/string", - "version": "v5.4.31", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "2765096c03f39ddf54f6af532166e42aaa05b24b" + "reference": "7cb80bc10bfcdf6b5492741c0b9357dac66940bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/2765096c03f39ddf54f6af532166e42aaa05b24b", - "reference": "2765096c03f39ddf54f6af532166e42aaa05b24b", + "url": "https://api.github.com/repos/symfony/string/zipball/7cb80bc10bfcdf6b5492741c0b9357dac66940bc", + "reference": "7cb80bc10bfcdf6b5492741c0b9357dac66940bc", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.1", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "~1.15" + "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "symfony/translation-contracts": ">=3.0" + "symfony/translation-contracts": "<2.5" }, "require-dev": { - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/http-client": "^4.4|^5.0|^6.0", - "symfony/translation-contracts": "^1.1|^2", - "symfony/var-exporter": "^4.4|^5.0|^6.0" + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/intl": "^6.2|^7.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -9145,7 +8947,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.31" + "source": "https://github.com/symfony/string/tree/v6.4.2" }, "funding": [ { @@ -9161,32 +8963,30 @@ "type": "tidelift" } ], - "time": "2023-11-09T08:19:44+00:00" + "time": "2023-12-10T16:15:48+00:00" }, { "name": "symfony/templating", - "version": "v5.4.21", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/templating.git", - "reference": "a47d5f1c8f7a636d27f8918d9cfd508242714e70" + "reference": "c3928c27fe1880095841d8b8ca1860f60b77d566" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/templating/zipball/a47d5f1c8f7a636d27f8918d9cfd508242714e70", - "reference": "a47d5f1c8f7a636d27f8918d9cfd508242714e70", + "url": "https://api.github.com/repos/symfony/templating/zipball/c3928c27fe1880095841d8b8ca1860f60b77d566", + "reference": "c3928c27fe1880095841d8b8ca1860f60b77d566", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "~1.8" }, "require-dev": { "psr/log": "^1|^2|^3" }, - "suggest": { - "psr/log-implementation": "For using debug logging in loaders" - }, "type": "library", "autoload": { "psr-4": { @@ -9213,7 +9013,7 @@ "description": "Provides all the tools needed to build any kind of template system", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/templating/tree/v5.4.21" + "source": "https://github.com/symfony/templating/tree/v6.4.0" }, "funding": [ { @@ -9229,57 +9029,55 @@ "type": "tidelift" } ], - "time": "2023-02-14T08:03:56+00:00" + "time": "2023-09-25T12:52:38+00:00" }, { "name": "symfony/translation", - "version": "v5.4.21", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "6996affeea65705086939894b77110e9a7f80874" + "reference": "a2ab2ec1a462e53016de8e8d5e8912bfd62ea681" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/6996affeea65705086939894b77110e9a7f80874", - "reference": "6996affeea65705086939894b77110e9a7f80874", + "url": "https://api.github.com/repos/symfony/translation/zipball/a2ab2ec1a462e53016de8e8d5e8912bfd62ea681", + "reference": "a2ab2ec1a462e53016de8e8d5e8912bfd62ea681", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/translation-contracts": "^2.3" + "symfony/translation-contracts": "^2.5|^3.0" }, "conflict": { - "symfony/config": "<4.4", - "symfony/console": "<5.3", - "symfony/dependency-injection": "<5.0", - "symfony/http-kernel": "<5.0", - "symfony/twig-bundle": "<5.0", - "symfony/yaml": "<4.4" + "symfony/config": "<5.4", + "symfony/console": "<5.4", + "symfony/dependency-injection": "<5.4", + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<5.4", + "symfony/service-contracts": "<2.5", + "symfony/twig-bundle": "<5.4", + "symfony/yaml": "<5.4" }, "provide": { - "symfony/translation-implementation": "2.3" + "symfony/translation-implementation": "2.3|3.0" }, "require-dev": { + "nikic/php-parser": "^4.13", "psr/log": "^1|^2|^3", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/console": "^5.4|^6.0", - "symfony/dependency-injection": "^5.0|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", - "symfony/http-client-contracts": "^1.1|^2.0|^3.0", - "symfony/http-kernel": "^5.0|^6.0", - "symfony/intl": "^4.4|^5.0|^6.0", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/http-client-contracts": "^2.5|^3.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/intl": "^5.4|^6.0|^7.0", "symfony/polyfill-intl-icu": "^1.21", - "symfony/service-contracts": "^1.1.2|^2|^3", - "symfony/yaml": "^4.4|^5.0|^6.0" - }, - "suggest": { - "psr/log-implementation": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" + "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/yaml": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -9310,7 +9108,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.4.21" + "source": "https://github.com/symfony/translation/tree/v6.4.2" }, "funding": [ { @@ -9326,32 +9124,29 @@ "type": "tidelift" } ], - "time": "2023-02-21T19:46:44+00:00" + "time": "2023-12-18T09:25:29+00:00" }, { "name": "symfony/translation-contracts", - "version": "v2.5.2", + "version": "v3.4.1", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe" + "reference": "06450585bf65e978026bda220cdebca3f867fde7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/136b19dd05cdf0709db6537d058bcab6dd6e2dbe", - "reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/06450585bf65e978026bda220cdebca3f867fde7", + "reference": "06450585bf65e978026bda220cdebca3f867fde7", "shasum": "" }, "require": { - "php": ">=7.2.5" - }, - "suggest": { - "symfony/translation-implementation": "" + "php": ">=8.1" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -9361,7 +9156,10 @@ "autoload": { "psr-4": { "Symfony\\Contracts\\Translation\\": "" - } + }, + "exclude-from-classmap": [ + "/Test/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -9388,7 +9186,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v2.5.2" + "source": "https://github.com/symfony/translation-contracts/tree/v3.4.1" }, "funding": [ { @@ -9404,85 +9202,73 @@ "type": "tidelift" } ], - "time": "2022-06-27T16:58:25+00:00" + "time": "2023-12-26T14:02:43+00:00" }, { "name": "symfony/twig-bridge", - "version": "v5.4.31", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "fc6ee0a3b672ea12ca1f26592d257bfc7f4ee942" + "reference": "97af829e4733125ee70e806694d56165c60b4ee1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/fc6ee0a3b672ea12ca1f26592d257bfc7f4ee942", - "reference": "fc6ee0a3b672ea12ca1f26592d257bfc7f4ee942", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/97af829e4733125ee70e806694d56165c60b4ee1", + "reference": "97af829e4733125ee70e806694d56165c60b4ee1", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16", - "symfony/translation-contracts": "^1.1|^2|^3", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/translation-contracts": "^2.5|^3", "twig/twig": "^2.13|^3.0.4" }, "conflict": { "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", - "symfony/console": "<5.3", - "symfony/form": "<5.4.21|>=6,<6.2.7", - "symfony/http-foundation": "<5.3", - "symfony/http-kernel": "<4.4", - "symfony/translation": "<5.2", - "symfony/workflow": "<5.2" + "symfony/console": "<5.4", + "symfony/form": "<6.3", + "symfony/http-foundation": "<5.4", + "symfony/http-kernel": "<6.4", + "symfony/mime": "<6.2", + "symfony/serializer": "<6.4", + "symfony/translation": "<5.4", + "symfony/workflow": "<5.4" }, "require-dev": { - "doctrine/annotations": "^1.12|^2", "egulias/email-validator": "^2.1.10|^3|^4", + "league/html-to-markdown": "^5.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/asset": "^4.4|^5.0|^6.0", - "symfony/console": "^5.3|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", - "symfony/form": "^5.4.21|^6.2.7", - "symfony/http-foundation": "^5.3|^6.0", - "symfony/http-kernel": "^4.4|^5.0|^6.0", - "symfony/intl": "^4.4|^5.0|^6.0", - "symfony/mime": "^5.2|^6.0", + "symfony/asset": "^5.4|^6.0|^7.0", + "symfony/asset-mapper": "^6.3|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/form": "^6.4|^7.0", + "symfony/html-sanitizer": "^6.1|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/intl": "^5.4|^6.0|^7.0", + "symfony/mime": "^6.2|^7.0", "symfony/polyfill-intl-icu": "~1.0", - "symfony/property-info": "^4.4|^5.1|^6.0", - "symfony/routing": "^4.4|^5.0|^6.0", + "symfony/property-info": "^5.4|^6.0|^7.0", + "symfony/routing": "^5.4|^6.0|^7.0", "symfony/security-acl": "^2.8|^3.0", - "symfony/security-core": "^4.4|^5.0|^6.0", - "symfony/security-csrf": "^4.4|^5.0|^6.0", - "symfony/security-http": "^4.4|^5.0|^6.0", - "symfony/serializer": "^5.2|^6.0", - "symfony/stopwatch": "^4.4|^5.0|^6.0", - "symfony/translation": "^5.2|^6.0", - "symfony/web-link": "^4.4|^5.0|^6.0", - "symfony/workflow": "^5.2|^6.0", - "symfony/yaml": "^4.4|^5.0|^6.0", + "symfony/security-core": "^5.4|^6.0|^7.0", + "symfony/security-csrf": "^5.4|^6.0|^7.0", + "symfony/security-http": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.4|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/translation": "^6.1|^7.0", + "symfony/web-link": "^5.4|^6.0|^7.0", + "symfony/workflow": "^5.4|^6.0|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0", "twig/cssinliner-extra": "^2.12|^3", "twig/inky-extra": "^2.12|^3", "twig/markdown-extra": "^2.12|^3" }, - "suggest": { - "symfony/asset": "For using the AssetExtension", - "symfony/expression-language": "For using the ExpressionExtension", - "symfony/finder": "", - "symfony/form": "For using the FormExtension", - "symfony/http-kernel": "For using the HttpKernelExtension", - "symfony/routing": "For using the RoutingExtension", - "symfony/security-core": "For using the SecurityExtension", - "symfony/security-csrf": "For using the CsrfExtension", - "symfony/security-http": "For using the LogoutUrlExtension", - "symfony/stopwatch": "For using the StopwatchExtension", - "symfony/translation": "For using the TranslationExtension", - "symfony/var-dumper": "For using the DumpExtension", - "symfony/web-link": "For using the WebLinkExtension", - "symfony/yaml": "For using the YamlExtension" - }, "type": "symfony-bridge", "autoload": { "psr-4": { @@ -9509,7 +9295,7 @@ "description": "Provides integration for Twig with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bridge/tree/v5.4.31" + "source": "https://github.com/symfony/twig-bridge/tree/v6.4.2" }, "funding": [ { @@ -9525,52 +9311,47 @@ "type": "tidelift" } ], - "time": "2023-11-09T21:19:08+00:00" + "time": "2023-12-15T12:36:48+00:00" }, { "name": "symfony/twig-bundle", - "version": "v5.4.21", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/twig-bundle.git", - "reference": "875d0edfc8df7505c1993419882c4071fc28c477" + "reference": "35d84393e598dfb774e6a2bf49e5229a8a6dbe4c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/875d0edfc8df7505c1993419882c4071fc28c477", - "reference": "875d0edfc8df7505c1993419882c4071fc28c477", + "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/35d84393e598dfb774e6a2bf49e5229a8a6dbe4c", + "reference": "35d84393e598dfb774e6a2bf49e5229a8a6dbe4c", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^4.4|^5.0|^6.0", - "symfony/http-kernel": "^5.0|^6.0", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-php80": "^1.16", - "symfony/twig-bridge": "^5.3|^6.0", + "composer-runtime-api": ">=2.1", + "php": ">=8.1", + "symfony/config": "^6.1|^7.0", + "symfony/dependency-injection": "^6.1|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^6.2", + "symfony/twig-bridge": "^6.4", "twig/twig": "^2.13|^3.0.4" }, "conflict": { - "symfony/dependency-injection": "<5.3", - "symfony/framework-bundle": "<5.0", - "symfony/service-contracts": ">=3.0", - "symfony/translation": "<5.0" - }, - "require-dev": { - "doctrine/annotations": "^1.10.4|^2", - "doctrine/cache": "^1.0|^2.0", - "symfony/asset": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^5.3|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", - "symfony/form": "^4.4|^5.0|^6.0", - "symfony/framework-bundle": "^5.0|^6.0", - "symfony/routing": "^4.4|^5.0|^6.0", - "symfony/stopwatch": "^4.4|^5.0|^6.0", - "symfony/translation": "^5.0|^6.0", - "symfony/web-link": "^4.4|^5.0|^6.0", - "symfony/yaml": "^4.4|^5.0|^6.0" + "symfony/framework-bundle": "<5.4", + "symfony/translation": "<5.4" + }, + "require-dev": { + "symfony/asset": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/form": "^5.4|^6.0|^7.0", + "symfony/framework-bundle": "^5.4|^6.0|^7.0", + "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/translation": "^5.4|^6.0|^7.0", + "symfony/web-link": "^5.4|^6.0|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0" }, "type": "symfony-bundle", "autoload": { @@ -9598,7 +9379,7 @@ "description": "Provides a tight integration of Twig into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bundle/tree/v5.4.21" + "source": "https://github.com/symfony/twig-bundle/tree/v6.4.0" }, "funding": [ { @@ -9614,47 +9395,48 @@ "type": "tidelift" } ], - "time": "2023-02-14T08:03:56+00:00" + "time": "2023-11-07T14:57:07+00:00" }, { "name": "symfony/ux-turbo", - "version": "v2.7.1", + "version": "v2.13.2", "source": { "type": "git", "url": "https://github.com/symfony/ux-turbo.git", - "reference": "2c82aad06d7c1493615d09188b70a3a86f6cc6ab" + "reference": "1be97f191f166ad745f777cafdaa5609d959984d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-turbo/zipball/2c82aad06d7c1493615d09188b70a3a86f6cc6ab", - "reference": "2c82aad06d7c1493615d09188b70a3a86f6cc6ab", + "url": "https://api.github.com/repos/symfony/ux-turbo/zipball/1be97f191f166ad745f777cafdaa5609d959984d", + "reference": "1be97f191f166ad745f777cafdaa5609d959984d", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/webpack-encore-bundle": "^1.11" + "php": ">=8.1", + "symfony/stimulus-bundle": "^2.9.1" }, "conflict": { "symfony/flex": "<1.13" }, "require-dev": { - "doctrine/annotations": "^1.12", - "doctrine/doctrine-bundle": "^2.2", + "doctrine/doctrine-bundle": "^2.4.3", "doctrine/orm": "^2.8 | 3.0", - "phpstan/phpstan": "^0.12", - "symfony/debug-bundle": "^5.2|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/form": "^5.2|^6.0", - "symfony/framework-bundle": "^5.2|^6.0", - "symfony/mercure-bundle": "^0.3", - "symfony/messenger": "^5.2|^6.0", + "phpstan/phpstan": "^1.10", + "symfony/debug-bundle": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/form": "^5.4|^6.0|^7.0", + "symfony/framework-bundle": "^5.4|^6.0|^7.0", + "symfony/mercure-bundle": "^0.3.7", + "symfony/messenger": "^5.4|^6.0|^7.0", "symfony/panther": "^1.0|^2.0", - "symfony/phpunit-bridge": "^5.2.1|^6.0", - "symfony/property-access": "^5.2|^6.0", - "symfony/security-core": "^5.2|^6.0", - "symfony/stopwatch": "^5.2|^6.0", - "symfony/twig-bundle": "^5.2|^6.0", - "symfony/web-profiler-bundle": "^5.2|^6.0" + "symfony/phpunit-bridge": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|6.3.*|^7.0", + "symfony/property-access": "^5.4|^6.0|^7.0", + "symfony/security-core": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/twig-bundle": "^5.4|^6.0|^7.0", + "symfony/web-profiler-bundle": "^5.4|^6.0|^7.0", + "symfony/webpack-encore-bundle": "^2.1.1" }, "type": "symfony-bundle", "extra": { @@ -9693,7 +9475,7 @@ "turbo-stream" ], "support": { - "source": "https://github.com/symfony/ux-turbo/tree/v2.7.1" + "source": "https://github.com/symfony/ux-turbo/tree/v2.13.2" }, "funding": [ { @@ -9709,76 +9491,59 @@ "type": "tidelift" } ], - "time": "2023-01-24T15:40:19+00:00" + "time": "2023-11-11T01:20:31+00:00" }, { "name": "symfony/validator", - "version": "v5.4.21", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "0ba987d705962a4f6571d31a8e1aed18ad2c9f55" + "reference": "15fe2c6ed815b06b6b8636d8ba3ef9807ee1a75c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/0ba987d705962a4f6571d31a8e1aed18ad2c9f55", - "reference": "0ba987d705962a4f6571d31a8e1aed18ad2c9f55", + "url": "https://api.github.com/repos/symfony/validator/zipball/15fe2c6ed815b06b6b8636d8ba3ef9807ee1a75c", + "reference": "15fe2c6ed815b06b6b8636d8ba3ef9807ee1a75c", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "~1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/polyfill-php81": "^1.22", - "symfony/translation-contracts": "^1.1|^2|^3" + "symfony/polyfill-php83": "^1.27", + "symfony/translation-contracts": "^2.5|^3" }, "conflict": { "doctrine/annotations": "<1.13", - "doctrine/cache": "<1.11", "doctrine/lexer": "<1.1", - "phpunit/phpunit": "<5.4.3", - "symfony/dependency-injection": "<4.4", - "symfony/expression-language": "<5.1", - "symfony/http-kernel": "<4.4", - "symfony/intl": "<4.4", - "symfony/property-info": "<5.3", - "symfony/translation": "<4.4", - "symfony/yaml": "<4.4" + "symfony/dependency-injection": "<5.4", + "symfony/expression-language": "<5.4", + "symfony/http-kernel": "<5.4", + "symfony/intl": "<5.4", + "symfony/property-info": "<5.4", + "symfony/translation": "<5.4", + "symfony/yaml": "<5.4" }, "require-dev": { "doctrine/annotations": "^1.13|^2", - "doctrine/cache": "^1.11|^2.0", "egulias/email-validator": "^2.1.10|^3|^4", - "symfony/cache": "^4.4|^5.0|^6.0", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/console": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^5.1|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", - "symfony/http-client": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^4.4|^5.0|^6.0", - "symfony/http-kernel": "^4.4|^5.0|^6.0", - "symfony/intl": "^4.4|^5.0|^6.0", - "symfony/mime": "^4.4|^5.0|^6.0", - "symfony/property-access": "^4.4|^5.0|^6.0", - "symfony/property-info": "^5.3|^6.0", - "symfony/translation": "^4.4|^5.0|^6.0", - "symfony/yaml": "^4.4|^5.0|^6.0" - }, - "suggest": { - "egulias/email-validator": "Strict (RFC compliant) email validation", - "psr/cache-implementation": "For using the mapping cache.", - "symfony/config": "", - "symfony/expression-language": "For using the Expression validator and the ExpressionLanguageSyntax constraints", - "symfony/http-foundation": "", - "symfony/intl": "", - "symfony/property-access": "For accessing properties within comparison constraints", - "symfony/property-info": "To automatically add NotNull and Type constraints", - "symfony/translation": "For translating validation errors.", - "symfony/yaml": "" + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/intl": "^5.4|^6.0|^7.0", + "symfony/mime": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4|^6.0|^7.0", + "symfony/property-info": "^5.4|^6.0|^7.0", + "symfony/translation": "^5.4|^6.0|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -9806,7 +9571,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v5.4.21" + "source": "https://github.com/symfony/validator/tree/v6.4.2" }, "funding": [ { @@ -9822,43 +9587,39 @@ "type": "tidelift" } ], - "time": "2023-02-22T19:16:45+00:00" + "time": "2023-12-29T16:34:12+00:00" }, { "name": "symfony/var-dumper", - "version": "v5.4.29", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "6172e4ae3534d25ee9e07eb487c20be7760fcc65" + "reference": "68d6573ec98715ddcae5a0a85bee3c1c27a4c33f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6172e4ae3534d25ee9e07eb487c20be7760fcc65", - "reference": "6172e4ae3534d25ee9e07eb487c20be7760fcc65", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/68d6573ec98715ddcae5a0a85bee3c1c27a4c33f", + "reference": "68d6573ec98715ddcae5a0a85bee3c1c27a4c33f", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "symfony/console": "<4.4" + "symfony/console": "<5.4" }, "require-dev": { "ext-iconv": "*", - "symfony/console": "^4.4|^5.0|^6.0", - "symfony/http-kernel": "^4.4|^5.0|^6.0", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/uid": "^5.1|^6.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^6.3|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/uid": "^5.4|^6.0|^7.0", "twig/twig": "^2.13|^3.0.4" }, - "suggest": { - "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", - "ext-intl": "To show region name in time zone dump", - "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" - }, "bin": [ "Resources/bin/var-dump-server" ], @@ -9895,7 +9656,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.4.29" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.2" }, "funding": [ { @@ -9911,28 +9672,28 @@ "type": "tidelift" } ], - "time": "2023-09-12T10:09:58+00:00" + "time": "2023-12-28T19:16:56+00:00" }, { "name": "symfony/var-exporter", - "version": "v5.4.21", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "be74908a6942fdd331554b3cec27ff41b45ccad4" + "reference": "5fe9a0021b8d35e67d914716ec8de50716a68e7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/be74908a6942fdd331554b3cec27ff41b45ccad4", - "reference": "be74908a6942fdd331554b3cec27ff41b45ccad4", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/5fe9a0021b8d35e67d914716ec8de50716a68e7e", + "reference": "5fe9a0021b8d35e67d914716ec8de50716a68e7e", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3" }, "require-dev": { - "symfony/var-dumper": "^4.4.9|^5.0.9|^6.0" + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -9965,10 +9726,12 @@ "export", "hydrate", "instantiate", + "lazy-loading", + "proxy", "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v5.4.21" + "source": "https://github.com/symfony/var-exporter/tree/v6.4.2" }, "funding": [ { @@ -9984,20 +9747,20 @@ "type": "tidelift" } ], - "time": "2023-02-21T19:46:44+00:00" + "time": "2023-12-27T08:18:35+00:00" }, { "name": "symfony/webpack-encore-bundle", - "version": "v1.16.1", + "version": "v1.17.2", "source": { "type": "git", "url": "https://github.com/symfony/webpack-encore-bundle.git", - "reference": "1862d71e483769b40278548a30e756ce13ef9d4c" + "reference": "471ebbc03072dad6e31840dc317bc634a32785f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/webpack-encore-bundle/zipball/1862d71e483769b40278548a30e756ce13ef9d4c", - "reference": "1862d71e483769b40278548a30e756ce13ef9d4c", + "url": "https://api.github.com/repos/symfony/webpack-encore-bundle/zipball/471ebbc03072dad6e31840dc317bc634a32785f5", + "reference": "471ebbc03072dad6e31840dc317bc634a32785f5", "shasum": "" }, "require": { @@ -10041,82 +9804,7 @@ "description": "Integration with your Symfony app & Webpack Encore!", "support": { "issues": "https://github.com/symfony/webpack-encore-bundle/issues", - "source": "https://github.com/symfony/webpack-encore-bundle/tree/v1.16.1" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-18T19:37:55+00:00" - }, - { - "name": "symfony/yaml", - "version": "v5.4.21", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "3713e20d93e46e681e51605d213027e48dab3469" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/3713e20d93e46e681e51605d213027e48dab3469", - "reference": "3713e20d93e46e681e51605d213027e48dab3469", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "symfony/console": "<5.3" - }, - "require-dev": { - "symfony/console": "^5.3|^6.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "bin": [ - "Resources/bin/yaml-lint" - ], - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Loads and dumps YAML files", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/yaml/tree/v5.4.21" + "source": "https://github.com/symfony/webpack-encore-bundle/tree/v1.17.2" }, "funding": [ { @@ -10130,90 +9818,46 @@ { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" - } - ], - "time": "2023-02-21T19:46:44+00:00" - }, - { - "name": "symfonycasts/reset-password-bundle", - "version": "v1.17.0", - "source": { - "type": "git", - "url": "https://github.com/SymfonyCasts/reset-password-bundle.git", - "reference": "6601f15fce7a4934bc9570f76feaf1b93536b1a7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/SymfonyCasts/reset-password-bundle/zipball/6601f15fce7a4934bc9570f76feaf1b93536b1a7", - "reference": "6601f15fce7a4934bc9570f76feaf1b93536b1a7", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": ">=7.2.5", - "symfony/config": "^5.4 | ^6.0", - "symfony/dependency-injection": "^5.4 | ^6.0", - "symfony/deprecation-contracts": "^2.2 | ^3.0", - "symfony/http-kernel": "^5.4 | ^6.0" - }, - "conflict": { - "doctrine/orm": "<2.7", - "php": ">=8.1 <8.1.10" - }, - "require-dev": { - "doctrine/annotations": "^1.0", - "doctrine/doctrine-bundle": "^2.0.3", - "doctrine/orm": "^2.7", - "symfony/framework-bundle": "^5.4 | ^6.0", - "symfony/phpunit-bridge": "^5.4 | ^6.0" - }, - "type": "symfony-bundle", - "autoload": { - "psr-4": { - "SymfonyCasts\\Bundle\\ResetPassword\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Symfony bundle that adds password reset functionality.", - "support": { - "issues": "https://github.com/SymfonyCasts/reset-password-bundle/issues", - "source": "https://github.com/SymfonyCasts/reset-password-bundle/tree/v1.17.0" - }, - "time": "2023-02-02T15:11:33+00:00" + } + ], + "time": "2023-09-26T14:36:28+00:00" }, { - "name": "tgalopin/html-sanitizer", - "version": "1.5.0", + "name": "symfony/yaml", + "version": "v6.4.0", "source": { "type": "git", - "url": "https://github.com/tgalopin/html-sanitizer.git", - "reference": "5d02dcb6f2ea4f505731eac440798caa1b3b0913" + "url": "https://github.com/symfony/yaml.git", + "reference": "4f9237a1bb42455d609e6687d2613dde5b41a587" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tgalopin/html-sanitizer/zipball/5d02dcb6f2ea4f505731eac440798caa1b3b0913", - "reference": "5d02dcb6f2ea4f505731eac440798caa1b3b0913", + "url": "https://api.github.com/repos/symfony/yaml/zipball/4f9237a1bb42455d609e6687d2613dde5b41a587", + "reference": "4f9237a1bb42455d609e6687d2613dde5b41a587", "shasum": "" }, "require": { - "ext-dom": "*", - "league/uri-parser": "^1.4.1", - "masterminds/html5": "^2.4", - "php": ">=7.1", - "psr/log": "^1.0|^2.0|^3.0" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/console": "<5.4" }, "require-dev": { - "phpunit/phpunit": "^7.4", - "symfony/var-dumper": "^4.1" + "symfony/console": "^5.4|^6.0|^7.0" }, + "bin": [ + "Resources/bin/yaml-lint" + ], "type": "library", "autoload": { "psr-4": { - "HtmlSanitizer\\": "src" - } + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -10221,86 +9865,100 @@ ], "authors": [ { - "name": "Titouan Galopin", - "email": "galopintitouan@gmail.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Sanitize untrustworthy HTML user input", + "description": "Loads and dumps YAML files", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/tgalopin/html-sanitizer/issues", - "source": "https://github.com/tgalopin/html-sanitizer/tree/1.5.0" + "source": "https://github.com/symfony/yaml/tree/v6.4.0" }, - "abandoned": "symfony/html-sanitizer", - "time": "2021-09-14T08:27:50+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-06T11:00:25+00:00" }, { - "name": "tgalopin/html-sanitizer-bundle", - "version": "1.4.0", + "name": "symfonycasts/reset-password-bundle", + "version": "v1.20.2", "source": { "type": "git", - "url": "https://github.com/tgalopin/html-sanitizer-bundle.git", - "reference": "d5a59d214c6e8eeebd67c103288e3659027144a7" + "url": "https://github.com/SymfonyCasts/reset-password-bundle.git", + "reference": "b79a28c975d72b5ac7febeebe139de436add26c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tgalopin/html-sanitizer-bundle/zipball/d5a59d214c6e8eeebd67c103288e3659027144a7", - "reference": "d5a59d214c6e8eeebd67c103288e3659027144a7", + "url": "https://api.github.com/repos/SymfonyCasts/reset-password-bundle/zipball/b79a28c975d72b5ac7febeebe139de436add26c4", + "reference": "b79a28c975d72b5ac7febeebe139de436add26c4", "shasum": "" }, "require": { - "php": ">=7.1", - "symfony/framework-bundle": "^3.4|^4.0|^5.0|^6.0", - "tgalopin/html-sanitizer": "^1.1" + "ext-json": "*", + "php": ">=8.1.10", + "symfony/config": "^5.4 | ^6.0 | ^7.0", + "symfony/dependency-injection": "^5.4 | ^6.0 | ^7.0", + "symfony/deprecation-contracts": "^2.2 | ^3.0", + "symfony/http-kernel": "^5.4 | ^6.0 | ^7.0" }, "require-dev": { - "phpunit/phpunit": "^7.4", - "symfony/form": "^4.1|^5.0|^6.0", - "symfony/twig-bundle": "^4.1|^5.0|^6.0", - "symfony/var-dumper": "^4.1|^5.0|^6.0" + "doctrine/annotations": "^1.0", + "doctrine/doctrine-bundle": "^2.8", + "doctrine/orm": "^2.13", + "symfony/framework-bundle": "^5.4 | ^6.0 | ^7.0", + "symfony/phpunit-bridge": "^5.4 | ^6.0 | ^7.0" }, "type": "symfony-bundle", "autoload": { "psr-4": { - "HtmlSanitizer\\Bundle\\": "src" + "SymfonyCasts\\Bundle\\ResetPassword\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "Titouan Galopin", - "email": "galopintitouan@gmail.com" - } - ], - "description": "Symfony Bundle for https://github.com/tgalopin/html-sanitizer", + "description": "Symfony bundle that adds password reset functionality.", "support": { - "issues": "https://github.com/tgalopin/html-sanitizer-bundle/issues", - "source": "https://github.com/tgalopin/html-sanitizer-bundle/tree/1.4.0" + "issues": "https://github.com/SymfonyCasts/reset-password-bundle/issues", + "source": "https://github.com/SymfonyCasts/reset-password-bundle/tree/v1.20.2" }, - "abandoned": "symfony/html-sanitizer", - "time": "2021-11-25T21:37:14+00:00" + "time": "2024-01-22T12:46:34+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", - "version": "2.2.6", + "version": "v2.2.7", "source": { "type": "git", "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "c42125b83a4fa63b187fdf29f9c93cb7733da30c" + "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/c42125b83a4fa63b187fdf29f9c93cb7733da30c", - "reference": "c42125b83a4fa63b187fdf29f9c93cb7733da30c", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb", + "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "php": "^5.5 || ^7.0 || ^8.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0" + "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0" }, "require-dev": { "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" @@ -10331,22 +9989,22 @@ "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", "support": { "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", - "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.6" + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7" }, - "time": "2023-01-03T09:29:04+00:00" + "time": "2023-12-08T13:03:43+00:00" }, { "name": "twig/cssinliner-extra", - "version": "v3.5.1", + "version": "v3.7.1", "source": { "type": "git", "url": "https://github.com/twigphp/cssinliner-extra.git", - "reference": "381877765d17b0178322d68b818e0c67f9c93187" + "reference": "59d107afea4ca58be35ae1386bd90b53424f3b34" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/cssinliner-extra/zipball/381877765d17b0178322d68b818e0c67f9c93187", - "reference": "381877765d17b0178322d68b818e0c67f9c93187", + "url": "https://api.github.com/repos/twigphp/cssinliner-extra/zipball/59d107afea4ca58be35ae1386bd90b53424f3b34", + "reference": "59d107afea4ca58be35ae1386bd90b53424f3b34", "shasum": "" }, "require": { @@ -10355,14 +10013,9 @@ "twig/twig": "^2.7|^3.0" }, "require-dev": { - "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" + "symfony/phpunit-bridge": "^5.4|^6.3" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.5-dev" - } - }, "autoload": { "psr-4": { "Twig\\Extra\\CssInliner\\": "" @@ -10391,7 +10044,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/cssinliner-extra/tree/v3.5.1" + "source": "https://github.com/twigphp/cssinliner-extra/tree/v3.7.1" }, "funding": [ { @@ -10403,7 +10056,7 @@ "type": "tidelift" } ], - "time": "2023-02-08T07:44:55+00:00" + "time": "2023-07-29T15:34:56+00:00" }, { "name": "twig/extensions", @@ -10467,27 +10120,27 @@ }, { "name": "twig/extra-bundle", - "version": "v3.5.1", + "version": "v3.7.1", "source": { "type": "git", "url": "https://github.com/twigphp/twig-extra-bundle.git", - "reference": "a961e553a624eebdbd423ad5ab931497ca6d87cd" + "reference": "f10baafe6eb0ecd615d52d5cbfb713a39f68e8f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/a961e553a624eebdbd423ad5ab931497ca6d87cd", - "reference": "a961e553a624eebdbd423ad5ab931497ca6d87cd", + "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/f10baafe6eb0ecd615d52d5cbfb713a39f68e8f3", + "reference": "f10baafe6eb0ecd615d52d5cbfb713a39f68e8f3", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/framework-bundle": "^4.4|^5.0|^6.0", - "symfony/twig-bundle": "^4.4|^5.0|^6.0", + "symfony/framework-bundle": "^5.4|^6.0", + "symfony/twig-bundle": "^5.4|^6.0", "twig/twig": "^2.7|^3.0" }, "require-dev": { "league/commonmark": "^1.0|^2.0", - "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0", + "symfony/phpunit-bridge": "^5.4|^6.3", "twig/cache-extra": "^3.0", "twig/cssinliner-extra": "^2.12|^3.0", "twig/html-extra": "^2.12|^3.0", @@ -10497,11 +10150,6 @@ "twig/string-extra": "^2.12|^3.0" }, "type": "symfony-bundle", - "extra": { - "branch-alias": { - "dev-master": "3.5-dev" - } - }, "autoload": { "psr-4": { "Twig\\Extra\\TwigExtraBundle\\": "" @@ -10530,7 +10178,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.5.1" + "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.7.1" }, "funding": [ { @@ -10542,36 +10190,31 @@ "type": "tidelift" } ], - "time": "2023-02-08T07:44:55+00:00" + "time": "2023-07-29T15:34:56+00:00" }, { "name": "twig/intl-extra", - "version": "v3.5.1", + "version": "v3.7.1", "source": { "type": "git", "url": "https://github.com/twigphp/intl-extra.git", - "reference": "c3ebfac1624228c0556de57a34af6b7d83a1a408" + "reference": "4f4fe572f635534649cc069e1dafe4a8ad63774d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/c3ebfac1624228c0556de57a34af6b7d83a1a408", - "reference": "c3ebfac1624228c0556de57a34af6b7d83a1a408", + "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/4f4fe572f635534649cc069e1dafe4a8ad63774d", + "reference": "4f4fe572f635534649cc069e1dafe4a8ad63774d", "shasum": "" }, "require": { "php": ">=7.1.3", - "symfony/intl": "^4.4|^5.0|^6.0", + "symfony/intl": "^5.4|^6.0", "twig/twig": "^2.7|^3.0" }, "require-dev": { - "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" + "symfony/phpunit-bridge": "^5.4|^6.3" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.5-dev" - } - }, "autoload": { "psr-4": { "Twig\\Extra\\Intl\\": "" @@ -10599,7 +10242,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/intl-extra/tree/v3.5.1" + "source": "https://github.com/twigphp/intl-extra/tree/v3.7.1" }, "funding": [ { @@ -10611,20 +10254,20 @@ "type": "tidelift" } ], - "time": "2023-02-08T07:44:55+00:00" + "time": "2023-07-29T15:34:56+00:00" }, { "name": "twig/markdown-extra", - "version": "v3.5.1", + "version": "v3.7.1", "source": { "type": "git", "url": "https://github.com/twigphp/markdown-extra.git", - "reference": "9474c89fd2787187a3809e5e964dfce2395ae5f0" + "reference": "83dfa86a0379f784ea30bdb9c15a356b8aabf780" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/markdown-extra/zipball/9474c89fd2787187a3809e5e964dfce2395ae5f0", - "reference": "9474c89fd2787187a3809e5e964dfce2395ae5f0", + "url": "https://api.github.com/repos/twigphp/markdown-extra/zipball/83dfa86a0379f784ea30bdb9c15a356b8aabf780", + "reference": "83dfa86a0379f784ea30bdb9c15a356b8aabf780", "shasum": "" }, "require": { @@ -10636,14 +10279,9 @@ "league/commonmark": "^1.0|^2.0", "league/html-to-markdown": "^4.8|^5.0", "michelf/php-markdown": "^1.8|^2.0", - "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" + "symfony/phpunit-bridge": "^5.4|^6.3" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.5-dev" - } - }, "autoload": { "psr-4": { "Twig\\Extra\\Markdown\\": "" @@ -10672,7 +10310,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/markdown-extra/tree/v3.5.1" + "source": "https://github.com/twigphp/markdown-extra/tree/v3.7.1" }, "funding": [ { @@ -10684,37 +10322,32 @@ "type": "tidelift" } ], - "time": "2023-02-08T07:44:55+00:00" + "time": "2023-07-29T15:34:56+00:00" }, { "name": "twig/string-extra", - "version": "v3.5.1", + "version": "v3.7.1", "source": { "type": "git", "url": "https://github.com/twigphp/string-extra.git", - "reference": "e8403cf7140319917577604be406dfb371246437" + "reference": "7230d630a25e91cd91a2bd8e2f0e872962507eab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/string-extra/zipball/e8403cf7140319917577604be406dfb371246437", - "reference": "e8403cf7140319917577604be406dfb371246437", + "url": "https://api.github.com/repos/twigphp/string-extra/zipball/7230d630a25e91cd91a2bd8e2f0e872962507eab", + "reference": "7230d630a25e91cd91a2bd8e2f0e872962507eab", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/string": "^5.0|^6.0", + "symfony/string": "^5.4|^6.0", "symfony/translation-contracts": "^1.1|^2|^3", "twig/twig": "^2.7|^3.0" }, "require-dev": { - "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" + "symfony/phpunit-bridge": "^5.4|^6.3" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.5-dev" - } - }, "autoload": { "psr-4": { "Twig\\Extra\\String\\": "" @@ -10744,7 +10377,7 @@ "unicode" ], "support": { - "source": "https://github.com/twigphp/string-extra/tree/v3.5.1" + "source": "https://github.com/twigphp/string-extra/tree/v3.7.1" }, "funding": [ { @@ -10756,20 +10389,20 @@ "type": "tidelift" } ], - "time": "2023-02-08T07:44:55+00:00" + "time": "2023-07-29T15:34:56+00:00" }, { "name": "twig/twig", - "version": "v2.15.5", + "version": "v2.16.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "fc02a6af3eeb97c4bf5650debc76c2eda85ac22e" + "reference": "0c9cc7ef2e0ec6d20c5af1200522a89ba101f623" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/fc02a6af3eeb97c4bf5650debc76c2eda85ac22e", - "reference": "fc02a6af3eeb97c4bf5650debc76c2eda85ac22e", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/0c9cc7ef2e0ec6d20c5af1200522a89ba101f623", + "reference": "0c9cc7ef2e0ec6d20c5af1200522a89ba101f623", "shasum": "" }, "require": { @@ -10780,12 +10413,12 @@ }, "require-dev": { "psr/container": "^1.0", - "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" + "symfony/phpunit-bridge": "^5.4.9|^6.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.15-dev" + "dev-master": "2.16-dev" } }, "autoload": { @@ -10824,7 +10457,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v2.15.5" + "source": "https://github.com/twigphp/Twig/tree/v2.16.0" }, "funding": [ { @@ -10836,7 +10469,7 @@ "type": "tidelift" } ], - "time": "2023-05-03T17:49:41+00:00" + "time": "2023-12-22T07:22:15+00:00" }, { "name": "webmozart/assert", @@ -10967,38 +10600,40 @@ }, { "name": "doctrine/data-fixtures", - "version": "1.6.3", + "version": "1.7.0", "source": { "type": "git", "url": "https://github.com/doctrine/data-fixtures.git", - "reference": "c27821d038e64f1bfc852a94064d65d2a75ad01f" + "reference": "bbcb74f2ac6dbe81a14b3c3687d7623490a0448f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/data-fixtures/zipball/c27821d038e64f1bfc852a94064d65d2a75ad01f", - "reference": "c27821d038e64f1bfc852a94064d65d2a75ad01f", + "url": "https://api.github.com/repos/doctrine/data-fixtures/zipball/bbcb74f2ac6dbe81a14b3c3687d7623490a0448f", + "reference": "bbcb74f2ac6dbe81a14b3c3687d7623490a0448f", "shasum": "" }, "require": { - "doctrine/persistence": "^1.3.3|^2.0|^3.0", - "php": "^7.2 || ^8.0" + "doctrine/deprecations": "^0.5.3 || ^1.0", + "doctrine/persistence": "^2.0|^3.0", + "php": "^7.4 || ^8.0" }, "conflict": { - "doctrine/dbal": "<2.13", - "doctrine/orm": "<2.12", + "doctrine/dbal": "<3.5 || >=5", + "doctrine/orm": "<2.14 || >=4", "doctrine/phpcr-odm": "<1.3.0" }, "require-dev": { - "doctrine/coding-standard": "^10.0", - "doctrine/dbal": "^2.13 || ^3.0", - "doctrine/deprecations": "^1.0", + "doctrine/annotations": "^1.12 || ^2", + "doctrine/coding-standard": "^12", + "doctrine/dbal": "^3.5 || ^4", "doctrine/mongodb-odm": "^1.3.0 || ^2.0.0", - "doctrine/orm": "^2.12", + "doctrine/orm": "^2.14 || ^3", "ext-sqlite3": "*", - "phpstan/phpstan": "^1.5", - "phpunit/phpunit": "^8.5 || ^9.5", - "symfony/cache": "^5.0 || ^6.0", - "vimeo/psalm": "^4.10" + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.6.13 || ^10.4.2", + "symfony/cache": "^5.4 || ^6.3 || ^7", + "symfony/var-exporter": "^5.4 || ^6.3 || ^7", + "vimeo/psalm": "^5.9" }, "suggest": { "alcaeus/mongo-php-adapter": "For using MongoDB ODM 1.3 with PHP 7 (deprecated)", @@ -11009,7 +10644,7 @@ "type": "library", "autoload": { "psr-4": { - "Doctrine\\Common\\DataFixtures\\": "lib/Doctrine/Common/DataFixtures" + "Doctrine\\Common\\DataFixtures\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -11029,7 +10664,7 @@ ], "support": { "issues": "https://github.com/doctrine/data-fixtures/issues", - "source": "https://github.com/doctrine/data-fixtures/tree/1.6.3" + "source": "https://github.com/doctrine/data-fixtures/tree/1.7.0" }, "funding": [ { @@ -11045,40 +10680,44 @@ "type": "tidelift" } ], - "time": "2023-01-07T15:10:22+00:00" + "time": "2023-11-24T11:18:31+00:00" }, { "name": "doctrine/doctrine-fixtures-bundle", - "version": "3.4.2", + "version": "3.5.1", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineFixturesBundle.git", - "reference": "601988c5b46dbd20a0f886f967210aba378a6fd5" + "reference": "c808a0c85c38c8ee265cc8405b456c1d2b38567d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/601988c5b46dbd20a0f886f967210aba378a6fd5", - "reference": "601988c5b46dbd20a0f886f967210aba378a6fd5", + "url": "https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/c808a0c85c38c8ee265cc8405b456c1d2b38567d", + "reference": "c808a0c85c38c8ee265cc8405b456c1d2b38567d", "shasum": "" }, "require": { "doctrine/data-fixtures": "^1.3", - "doctrine/doctrine-bundle": "^1.11|^2.0", - "doctrine/orm": "^2.6.0", - "doctrine/persistence": "^1.3.7|^2.0|^3.0", - "php": "^7.1 || ^8.0", - "symfony/config": "^3.4|^4.3|^5.0|^6.0", - "symfony/console": "^3.4|^4.3|^5.0|^6.0", - "symfony/dependency-injection": "^3.4.47|^4.3|^5.0|^6.0", - "symfony/doctrine-bridge": "^3.4|^4.1|^5.0|^6.0", - "symfony/http-kernel": "^3.4|^4.3|^5.0|^6.0" + "doctrine/doctrine-bundle": "^2.2", + "doctrine/orm": "^2.14.0 || ^3.0", + "doctrine/persistence": "^2.4|^3.0", + "php": "^7.4 || ^8.0", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/doctrine-bridge": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0" + }, + "conflict": { + "doctrine/dbal": "< 3" }, "require-dev": { - "doctrine/coding-standard": "^9", - "phpstan/phpstan": "^1.4.10", - "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", - "symfony/phpunit-bridge": "^6.0.8", - "vimeo/psalm": "^4.22" + "doctrine/coding-standard": "^12", + "phpstan/phpstan": "^1.10.39", + "phpunit/phpunit": "^9.6.13", + "symfony/phpunit-bridge": "^6.3.6", + "vimeo/psalm": "^5.15" }, "type": "symfony-bundle", "autoload": { @@ -11112,7 +10751,7 @@ ], "support": { "issues": "https://github.com/doctrine/DoctrineFixturesBundle/issues", - "source": "https://github.com/doctrine/DoctrineFixturesBundle/tree/3.4.2" + "source": "https://github.com/doctrine/DoctrineFixturesBundle/tree/3.5.1" }, "funding": [ { @@ -11128,36 +10767,45 @@ "type": "tidelift" } ], - "time": "2022-04-28T17:58:29+00:00" + "time": "2023-11-19T12:48:54+00:00" }, { - "name": "fzaninotto/faker", - "version": "v1.9.2", + "name": "fakerphp/faker", + "version": "v1.23.1", "source": { "type": "git", - "url": "https://github.com/fzaninotto/Faker.git", - "reference": "848d8125239d7dbf8ab25cb7f054f1a630e68c2e" + "url": "https://github.com/FakerPHP/Faker.git", + "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/848d8125239d7dbf8ab25cb7f054f1a630e68c2e", - "reference": "848d8125239d7dbf8ab25cb7f054f1a630e68c2e", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b", + "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0" + "php": "^7.4 || ^8.0", + "psr/container": "^1.0 || ^2.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "conflict": { + "fzaninotto/faker": "*" }, "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "doctrine/persistence": "^1.3 || ^2.0", "ext-intl": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7", - "squizlabs/php_codesniffer": "^2.9.2" + "phpunit/phpunit": "^9.5.26", + "symfony/phpunit-bridge": "^5.4.16" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.9-dev" - } + "suggest": { + "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", + "ext-curl": "Required by Faker\\Provider\\Image to download images.", + "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.", + "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.", + "ext-mbstring": "Required for multibyte Unicode string functionality." }, + "type": "library", "autoload": { "psr-4": { "Faker\\": "src/Faker/" @@ -11179,50 +10827,48 @@ "fixtures" ], "support": { - "issues": "https://github.com/fzaninotto/Faker/issues", - "source": "https://github.com/fzaninotto/Faker/tree/v1.9.2" + "issues": "https://github.com/FakerPHP/Faker/issues", + "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1" }, - "abandoned": true, - "time": "2020-12-11T09:56:16+00:00" + "time": "2024-01-02T13:46:09+00:00" }, { "name": "monolog/monolog", - "version": "2.9.1", + "version": "3.5.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "f259e2b15fb95494c83f52d3caad003bbf5ffaa1" + "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f259e2b15fb95494c83f52d3caad003bbf5ffaa1", - "reference": "f259e2b15fb95494c83f52d3caad003bbf5ffaa1", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c915e2634718dbc8a4a15c61b0e62e7a44e14448", + "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448", "shasum": "" }, "require": { - "php": ">=7.2", - "psr/log": "^1.0.1 || ^2.0 || ^3.0" + "php": ">=8.1", + "psr/log": "^2.0 || ^3.0" }, "provide": { - "psr/log-implementation": "1.0.0 || 2.0.0 || 3.0.0" + "psr/log-implementation": "3.0.0" }, "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "aws/aws-sdk-php": "^3.0", "doctrine/couchdb": "~1.0@dev", "elasticsearch/elasticsearch": "^7 || ^8", "ext-json": "*", - "graylog2/gelf-php": "^1.4.2 || ^2@dev", - "guzzlehttp/guzzle": "^7.4", + "graylog2/gelf-php": "^1.4.2 || ^2.0", + "guzzlehttp/guzzle": "^7.4.5", "guzzlehttp/psr7": "^2.2", "mongodb/mongodb": "^1.8", "php-amqplib/php-amqplib": "~2.4 || ^3", - "phpspec/prophecy": "^1.15", - "phpstan/phpstan": "^0.12.91", - "phpunit/phpunit": "^8.5.14", - "predis/predis": "^1.1 || ^2.0", - "rollbar/rollbar": "^1.3 || ^2 || ^3", + "phpstan/phpstan": "^1.9", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-strict-rules": "^1.4", + "phpunit/phpunit": "^10.1", + "predis/predis": "^1.1 || ^2", "ruflin/elastica": "^7", - "swiftmailer/swiftmailer": "^5.3|^6.0", "symfony/mailer": "^5.4 || ^6", "symfony/mime": "^5.4 || ^6" }, @@ -11245,7 +10891,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.x-dev" + "dev-main": "3.x-dev" } }, "autoload": { @@ -11273,7 +10919,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.9.1" + "source": "https://github.com/Seldaek/monolog/tree/3.5.0" }, "funding": [ { @@ -11285,7 +10931,7 @@ "type": "tidelift" } ], - "time": "2023-02-06T13:44:46+00:00" + "time": "2023-10-27T15:32:31+00:00" }, { "name": "myclabs/deep-copy", @@ -11348,16 +10994,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.15.4", + "version": "v4.18.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290" + "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290", - "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/1bcbb2179f97633e98bbbc87044ee2611c7d7999", + "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999", "shasum": "" }, "require": { @@ -11398,9 +11044,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.18.0" }, - "time": "2023-03-05T19:49:14+00:00" + "time": "2023-12-10T21:03:43+00:00" }, { "name": "phar-io/manifest", @@ -11513,25 +11159,87 @@ }, "time": "2022-02-21T01:04:05+00:00" }, + { + "name": "phpstan/phpstan", + "version": "1.10.56", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan.git", + "reference": "27816a01aea996191ee14d010f325434c0ee76fa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/27816a01aea996191ee14d010f325434c0ee76fa", + "reference": "27816a01aea996191ee14d010f325434c0ee76fa", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0" + }, + "conflict": { + "phpstan/phpstan-shim": "*" + }, + "bin": [ + "phpstan", + "phpstan.phar" + ], + "type": "library", + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan - PHP Static Analysis Tool", + "keywords": [ + "dev", + "static analysis" + ], + "support": { + "docs": "https://phpstan.org/user-guide/getting-started", + "forum": "https://github.com/phpstan/phpstan/discussions", + "issues": "https://github.com/phpstan/phpstan/issues", + "security": "https://github.com/phpstan/phpstan/security/policy", + "source": "https://github.com/phpstan/phpstan-src" + }, + "funding": [ + { + "url": "https://github.com/ondrejmirtes", + "type": "github" + }, + { + "url": "https://github.com/phpstan", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan", + "type": "tidelift" + } + ], + "time": "2024-01-15T10:43:00+00:00" + }, { "name": "phpunit/php-code-coverage", - "version": "9.2.26", + "version": "9.2.30", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1" + "reference": "ca2bd87d2f9215904682a9cb9bb37dda98e76089" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", - "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ca2bd87d2f9215904682a9cb9bb37dda98e76089", + "reference": "ca2bd87d2f9215904682a9cb9bb37dda98e76089", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.15", + "nikic/php-parser": "^4.18 || ^5.0", "php": ">=7.3", "phpunit/php-file-iterator": "^3.0.3", "phpunit/php-text-template": "^2.0.2", @@ -11580,7 +11288,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26" + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.30" }, "funding": [ { @@ -11588,7 +11297,7 @@ "type": "github" } ], - "time": "2023-03-06T12:58:08+00:00" + "time": "2023-12-22T06:47:57+00:00" }, { "name": "phpunit/php-file-iterator", @@ -11833,16 +11542,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.5", + "version": "9.6.16", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "86e761949019ae83f49240b2f2123fb5ab3b2fc5" + "reference": "3767b2c56ce02d01e3491046f33466a1ae60a37f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/86e761949019ae83f49240b2f2123fb5ab3b2fc5", - "reference": "86e761949019ae83f49240b2f2123fb5ab3b2fc5", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3767b2c56ce02d01e3491046f33466a1ae60a37f", + "reference": "3767b2c56ce02d01e3491046f33466a1ae60a37f", "shasum": "" }, "require": { @@ -11857,7 +11566,7 @@ "phar-io/manifest": "^2.0.3", "phar-io/version": "^3.0.2", "php": ">=7.3", - "phpunit/php-code-coverage": "^9.2.13", + "phpunit/php-code-coverage": "^9.2.28", "phpunit/php-file-iterator": "^3.0.5", "phpunit/php-invoker": "^3.1.1", "phpunit/php-text-template": "^2.0.3", @@ -11915,7 +11624,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.5" + "security": "https://github.com/sebastianbergmann/phpunit/security/policy", + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.16" }, "funding": [ { @@ -11931,7 +11641,63 @@ "type": "tidelift" } ], - "time": "2023-03-09T06:34:10+00:00" + "time": "2024-01-19T07:03:14+00:00" + }, + { + "name": "rector/rector", + "version": "0.19.2", + "source": { + "type": "git", + "url": "https://github.com/rectorphp/rector.git", + "reference": "bc96a99895bf47c6bfe70ea1b799f0081ed5a903" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rectorphp/rector/zipball/bc96a99895bf47c6bfe70ea1b799f0081ed5a903", + "reference": "bc96a99895bf47c6bfe70ea1b799f0081ed5a903", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0", + "phpstan/phpstan": "^1.10.56" + }, + "conflict": { + "rector/rector-doctrine": "*", + "rector/rector-downgrade-php": "*", + "rector/rector-phpunit": "*", + "rector/rector-symfony": "*" + }, + "bin": [ + "bin/rector" + ], + "type": "library", + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Instant Upgrade and Automated Refactoring of any PHP code", + "keywords": [ + "automation", + "dev", + "migration", + "refactoring" + ], + "support": { + "issues": "https://github.com/rectorphp/rector/issues", + "source": "https://github.com/rectorphp/rector/tree/0.19.2" + }, + "funding": [ + { + "url": "https://github.com/tomasvotruba", + "type": "github" + } + ], + "time": "2024-01-19T10:58:30+00:00" }, { "name": "sebastian/cli-parser", @@ -12176,20 +11942,20 @@ }, { "name": "sebastian/complexity", - "version": "2.0.2", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" + "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a", + "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a", "shasum": "" }, "require": { - "nikic/php-parser": "^4.7", + "nikic/php-parser": "^4.18 || ^5.0", "php": ">=7.3" }, "require-dev": { @@ -12221,7 +11987,7 @@ "homepage": "https://github.com/sebastianbergmann/complexity", "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", - "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3" }, "funding": [ { @@ -12229,20 +11995,20 @@ "type": "github" } ], - "time": "2020-10-26T15:52:27+00:00" + "time": "2023-12-22T06:19:30+00:00" }, { "name": "sebastian/diff", - "version": "4.0.4", + "version": "4.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" + "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", - "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131", + "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131", "shasum": "" }, "require": { @@ -12287,7 +12053,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5" }, "funding": [ { @@ -12295,7 +12061,7 @@ "type": "github" } ], - "time": "2020-10-26T13:10:38+00:00" + "time": "2023-05-07T05:35:17+00:00" }, { "name": "sebastian/environment", @@ -12439,16 +12205,16 @@ }, { "name": "sebastian/global-state", - "version": "5.0.5", + "version": "5.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" + "reference": "bde739e7565280bda77be70044ac1047bc007e34" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2", - "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34", + "reference": "bde739e7565280bda77be70044ac1047bc007e34", "shasum": "" }, "require": { @@ -12491,7 +12257,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5" + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6" }, "funding": [ { @@ -12499,24 +12265,24 @@ "type": "github" } ], - "time": "2022-02-14T08:28:10+00:00" + "time": "2023-08-02T09:26:13+00:00" }, { "name": "sebastian/lines-of-code", - "version": "1.0.3", + "version": "1.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5", + "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5", "shasum": "" }, "require": { - "nikic/php-parser": "^4.6", + "nikic/php-parser": "^4.18 || ^5.0", "php": ">=7.3" }, "require-dev": { @@ -12548,7 +12314,7 @@ "homepage": "https://github.com/sebastianbergmann/lines-of-code", "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4" }, "funding": [ { @@ -12556,7 +12322,7 @@ "type": "github" } ], - "time": "2020-11-28T06:42:11+00:00" + "time": "2023-12-22T06:20:34+00:00" }, { "name": "sebastian/object-enumerator", @@ -12897,86 +12663,29 @@ ], "time": "2020-09-28T06:39:44+00:00" }, - { - "name": "sensiolabs/security-checker", - "version": "v6.0.3", - "source": { - "type": "git", - "url": "https://github.com/sensiolabs/security-checker.git", - "reference": "a576c01520d9761901f269c4934ba55448be4a54" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/security-checker/zipball/a576c01520d9761901f269c4934ba55448be4a54", - "reference": "a576c01520d9761901f269c4934ba55448be4a54", - "shasum": "" - }, - "require": { - "php": ">=7.1.3", - "symfony/console": "^2.8|^3.4|^4.2|^5.0", - "symfony/http-client": "^4.3|^5.0", - "symfony/mime": "^4.3|^5.0", - "symfony/polyfill-ctype": "^1.11" - }, - "bin": [ - "security-checker" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.0-dev" - } - }, - "autoload": { - "psr-4": { - "SensioLabs\\Security\\": "SensioLabs/Security" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien.potencier@gmail.com" - } - ], - "description": "A security checker for your composer.lock", - "support": { - "issues": "https://github.com/sensiolabs/security-checker/issues", - "source": "https://github.com/sensiolabs/security-checker/tree/master" - }, - "abandoned": "https://github.com/fabpot/local-php-security-checker", - "time": "2019-11-01T13:20:14+00:00" - }, { "name": "symfony/browser-kit", - "version": "v5.4.21", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "a866ca7e396f15d7efb6d74a8a7d364d4e05b704" + "reference": "a3bb210e001580ec75e1d02b27fae3452e6bf502" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/a866ca7e396f15d7efb6d74a8a7d364d4e05b704", - "reference": "a866ca7e396f15d7efb6d74a8a7d364d4e05b704", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/a3bb210e001580ec75e1d02b27fae3452e6bf502", + "reference": "a3bb210e001580ec75e1d02b27fae3452e6bf502", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/dom-crawler": "^4.4|^5.0|^6.0", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1", + "symfony/dom-crawler": "^5.4|^6.0|^7.0" }, "require-dev": { - "symfony/css-selector": "^4.4|^5.0|^6.0", - "symfony/http-client": "^4.4|^5.0|^6.0", - "symfony/mime": "^4.4|^5.0|^6.0", - "symfony/process": "^4.4|^5.0|^6.0" - }, - "suggest": { - "symfony/process": "" + "symfony/css-selector": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/mime": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -13004,7 +12713,7 @@ "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/browser-kit/tree/v5.4.21" + "source": "https://github.com/symfony/browser-kit/tree/v6.4.0" }, "funding": [ { @@ -13020,42 +12729,37 @@ "type": "tidelift" } ], - "time": "2023-02-14T08:03:56+00:00" + "time": "2023-10-31T08:18:17+00:00" }, { "name": "symfony/debug-bundle", - "version": "v5.4.21", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/debug-bundle.git", - "reference": "8b4360bf8ce9a917ef8796c5e6065a185d8722bd" + "reference": "1e07027423d1d37125b60a50997ada26a9d9d202" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/8b4360bf8ce9a917ef8796c5e6065a185d8722bd", - "reference": "8b4360bf8ce9a917ef8796c5e6065a185d8722bd", + "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/1e07027423d1d37125b60a50997ada26a9d9d202", + "reference": "1e07027423d1d37125b60a50997ada26a9d9d202", "shasum": "" }, "require": { "ext-xml": "*", - "php": ">=7.2.5", - "symfony/http-kernel": "^4.4|^5.0|^6.0", - "symfony/polyfill-php80": "^1.16", - "symfony/twig-bridge": "^4.4|^5.0|^6.0", - "symfony/var-dumper": "^4.4|^5.0|^6.0" + "php": ">=8.1", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/twig-bridge": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "conflict": { - "symfony/config": "<4.4", - "symfony/dependency-injection": "<5.2" + "symfony/config": "<5.4", + "symfony/dependency-injection": "<5.4" }, "require-dev": { - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/web-profiler-bundle": "^4.4|^5.0|^6.0" - }, - "suggest": { - "symfony/config": "For service container configuration", - "symfony/dependency-injection": "For using as a service from the container" + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/web-profiler-bundle": "^5.4|^6.0|^7.0" }, "type": "symfony-bundle", "autoload": { @@ -13083,7 +12787,7 @@ "description": "Provides a tight integration of the Symfony VarDumper component and the ServerLogCommand from MonologBridge into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/debug-bundle/tree/v5.4.21" + "source": "https://github.com/symfony/debug-bundle/tree/v6.4.0" }, "funding": [ { @@ -13099,38 +12803,30 @@ "type": "tidelift" } ], - "time": "2023-02-14T08:03:56+00:00" + "time": "2023-11-01T12:07:38+00:00" }, { "name": "symfony/dom-crawler", - "version": "v5.4.21", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "105a7ac54ecacc1f52a99b9c4963935ca62aac8f" + "reference": "14ff4fd2a5c8969d6158dbe7ef5b17d6a9c6ba33" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/105a7ac54ecacc1f52a99b9c4963935ca62aac8f", - "reference": "105a7ac54ecacc1f52a99b9c4963935ca62aac8f", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/14ff4fd2a5c8969d6158dbe7ef5b17d6a9c6ba33", + "reference": "14ff4fd2a5c8969d6158dbe7ef5b17d6a9c6ba33", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", + "masterminds/html5": "^2.6", + "php": ">=8.1", "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.16" - }, - "conflict": { - "masterminds/html5": "<2.6" + "symfony/polyfill-mbstring": "~1.0" }, "require-dev": { - "masterminds/html5": "^2.6", - "symfony/css-selector": "^4.4|^5.0|^6.0" - }, - "suggest": { - "symfony/css-selector": "" + "symfony/css-selector": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -13158,7 +12854,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v5.4.21" + "source": "https://github.com/symfony/dom-crawler/tree/v6.4.0" }, "funding": [ { @@ -13174,54 +12870,54 @@ "type": "tidelift" } ], - "time": "2023-02-14T08:03:56+00:00" + "time": "2023-11-20T16:41:16+00:00" }, { "name": "symfony/maker-bundle", - "version": "v1.43.0", + "version": "v1.52.0", "source": { "type": "git", "url": "https://github.com/symfony/maker-bundle.git", - "reference": "e3f9a1d9e0f4968f68454403e820dffc7db38a59" + "reference": "112f9466c94a46ca33dc441eee59a12cd1790757" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/e3f9a1d9e0f4968f68454403e820dffc7db38a59", - "reference": "e3f9a1d9e0f4968f68454403e820dffc7db38a59", + "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/112f9466c94a46ca33dc441eee59a12cd1790757", + "reference": "112f9466c94a46ca33dc441eee59a12cd1790757", "shasum": "" }, "require": { "doctrine/inflector": "^2.0", "nikic/php-parser": "^4.11", - "php": ">=7.2.5", - "symfony/config": "^5.4.7|^6.0", - "symfony/console": "^5.4.7|^6.0", - "symfony/dependency-injection": "^5.4.7|^6.0", + "php": ">=8.1", + "symfony/config": "^6.3|^7.0", + "symfony/console": "^6.3|^7.0", + "symfony/dependency-injection": "^6.3|^7.0", "symfony/deprecation-contracts": "^2.2|^3", - "symfony/filesystem": "^5.4.7|^6.0", - "symfony/finder": "^5.4.3|^6.0", - "symfony/framework-bundle": "^5.4.7|^6.0", - "symfony/http-kernel": "^5.4.7|^6.0" + "symfony/filesystem": "^6.3|^7.0", + "symfony/finder": "^6.3|^7.0", + "symfony/framework-bundle": "^6.3|^7.0", + "symfony/http-kernel": "^6.3|^7.0", + "symfony/process": "^6.3|^7.0" }, "conflict": { + "doctrine/doctrine-bundle": "<2.4", "doctrine/orm": "<2.10" }, "require-dev": { "composer/semver": "^3.0", - "doctrine/doctrine-bundle": "^2.4", + "doctrine/doctrine-bundle": "^2.5.0", "doctrine/orm": "^2.10.0", - "symfony/http-client": "^5.4.7|^6.0", - "symfony/phpunit-bridge": "^5.4.7|^6.0", - "symfony/polyfill-php80": "^1.16.0", - "symfony/process": "^5.4.7|^6.0", - "symfony/security-core": "^5.4.7|^6.0", - "symfony/yaml": "^5.4.3|^6.0", + "symfony/http-client": "^6.3|^7.0", + "symfony/phpunit-bridge": "^6.3|^7.0", + "symfony/security-core": "^6.3|^7.0", + "symfony/yaml": "^6.3|^7.0", "twig/twig": "^2.0|^3.0" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-main": "1.0-dev" + "dev-main": "1.x-dev" } }, "autoload": { @@ -13243,13 +12939,14 @@ "homepage": "https://symfony.com/doc/current/bundles/SymfonyMakerBundle/index.html", "keywords": [ "code generator", + "dev", "generator", "scaffold", "scaffolding" ], "support": { "issues": "https://github.com/symfony/maker-bundle/issues", - "source": "https://github.com/symfony/maker-bundle/tree/v1.43.0" + "source": "https://github.com/symfony/maker-bundle/tree/v1.52.0" }, "funding": [ { @@ -13265,47 +12962,42 @@ "type": "tidelift" } ], - "time": "2022-05-17T15:46:50+00:00" + "time": "2023-10-31T18:23:49+00:00" }, { "name": "symfony/monolog-bridge", - "version": "v5.4.21", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/monolog-bridge.git", - "reference": "f765276590bfe7b119e1494129fde9aa2a0c3058" + "reference": "c262c2f54ce7e160a231808817f306f880c32750" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/f765276590bfe7b119e1494129fde9aa2a0c3058", - "reference": "f765276590bfe7b119e1494129fde9aa2a0c3058", + "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/c262c2f54ce7e160a231808817f306f880c32750", + "reference": "c262c2f54ce7e160a231808817f306f880c32750", "shasum": "" }, "require": { - "monolog/monolog": "^1.25.1|^2", - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/http-kernel": "^5.3|^6.0", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1|^2|^3" + "monolog/monolog": "^1.25.1|^2|^3", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "symfony/console": "<4.4", - "symfony/http-foundation": "<5.3" + "symfony/console": "<5.4", + "symfony/http-foundation": "<5.4", + "symfony/security-core": "<6.0" }, "require-dev": { - "symfony/console": "^4.4|^5.0|^6.0", - "symfony/http-client": "^4.4|^5.0|^6.0", - "symfony/mailer": "^4.4|^5.0|^6.0", - "symfony/messenger": "^4.4|^5.0|^6.0", - "symfony/mime": "^4.4|^5.0|^6.0", - "symfony/security-core": "^4.4|^5.0|^6.0", - "symfony/var-dumper": "^4.4|^5.0|^6.0" - }, - "suggest": { - "symfony/console": "For the possibility to show log messages in console commands depending on verbosity settings.", - "symfony/http-kernel": "For using the debugging handlers together with the response life cycle of the HTTP kernel.", - "symfony/var-dumper": "For using the debugging handlers like the console handler or the log server handler." + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/mailer": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/mime": "^5.4|^6.0|^7.0", + "symfony/security-core": "^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "symfony-bridge", "autoload": { @@ -13333,7 +13025,7 @@ "description": "Provides integration for Monolog with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/monolog-bridge/tree/v5.4.21" + "source": "https://github.com/symfony/monolog-bridge/tree/v6.4.0" }, "funding": [ { @@ -13349,34 +13041,34 @@ "type": "tidelift" } ], - "time": "2023-02-21T12:28:57+00:00" + "time": "2023-10-31T08:18:17+00:00" }, { "name": "symfony/monolog-bundle", - "version": "v3.8.0", + "version": "v3.10.0", "source": { "type": "git", "url": "https://github.com/symfony/monolog-bundle.git", - "reference": "a41bbcdc1105603b6d73a7d9a43a3788f8e0fb7d" + "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/a41bbcdc1105603b6d73a7d9a43a3788f8e0fb7d", - "reference": "a41bbcdc1105603b6d73a7d9a43a3788f8e0fb7d", + "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181", + "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181", "shasum": "" }, "require": { - "monolog/monolog": "^1.22 || ^2.0 || ^3.0", - "php": ">=7.1.3", - "symfony/config": "~4.4 || ^5.0 || ^6.0", - "symfony/dependency-injection": "^4.4 || ^5.0 || ^6.0", - "symfony/http-kernel": "~4.4 || ^5.0 || ^6.0", - "symfony/monolog-bridge": "~4.4 || ^5.0 || ^6.0" + "monolog/monolog": "^1.25.1 || ^2.0 || ^3.0", + "php": ">=7.2.5", + "symfony/config": "^5.4 || ^6.0 || ^7.0", + "symfony/dependency-injection": "^5.4 || ^6.0 || ^7.0", + "symfony/http-kernel": "^5.4 || ^6.0 || ^7.0", + "symfony/monolog-bridge": "^5.4 || ^6.0 || ^7.0" }, "require-dev": { - "symfony/console": "~4.4 || ^5.0 || ^6.0", - "symfony/phpunit-bridge": "^5.2 || ^6.0", - "symfony/yaml": "~4.4 || ^5.0 || ^6.0" + "symfony/console": "^5.4 || ^6.0 || ^7.0", + "symfony/phpunit-bridge": "^6.3 || ^7.0", + "symfony/yaml": "^5.4 || ^6.0 || ^7.0" }, "type": "symfony-bundle", "extra": { @@ -13414,7 +13106,7 @@ ], "support": { "issues": "https://github.com/symfony/monolog-bundle/issues", - "source": "https://github.com/symfony/monolog-bundle/tree/v3.8.0" + "source": "https://github.com/symfony/monolog-bundle/tree/v3.10.0" }, "funding": [ { @@ -13430,20 +13122,20 @@ "type": "tidelift" } ], - "time": "2022-05-10T14:24:36+00:00" + "time": "2023-11-06T17:08:13+00:00" }, { "name": "symfony/phpunit-bridge", - "version": "v6.2.7", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "56965fae0b6b8d271015990eff5240ffff02e185" + "reference": "bd0455b7888e4adac29cf175d819c51f88fed942" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/56965fae0b6b8d271015990eff5240ffff02e185", - "reference": "56965fae0b6b8d271015990eff5240ffff02e185", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/bd0455b7888e4adac29cf175d819c51f88fed942", + "reference": "bd0455b7888e4adac29cf175d819c51f88fed942", "shasum": "" }, "require": { @@ -13453,11 +13145,9 @@ "phpunit/phpunit": "<7.5|9.1.2" }, "require-dev": { - "symfony/deprecation-contracts": "^2.1|^3.0", - "symfony/error-handler": "^5.4|^6.0" - }, - "suggest": { - "symfony/error-handler": "For tracking deprecated interfaces usages at runtime with DebugClassLoader" + "symfony/deprecation-contracts": "^2.5|^3.0", + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/polyfill-php81": "^1.27" }, "bin": [ "bin/simple-phpunit" @@ -13497,7 +13187,7 @@ "description": "Provides utilities for PHPUnit, especially user deprecation notices management", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/phpunit-bridge/tree/v6.2.7" + "source": "https://github.com/symfony/phpunit-bridge/tree/v6.4.2" }, "funding": [ { @@ -13513,43 +13203,42 @@ "type": "tidelift" } ], - "time": "2023-02-16T09:57:23+00:00" + "time": "2023-12-19T09:12:31+00:00" }, { "name": "symfony/web-profiler-bundle", - "version": "v5.4.21", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/web-profiler-bundle.git", - "reference": "a83337a813d1398789bf4190a56dc3c4d8cc4d93" + "reference": "38462d16856740ec0d1ba2cb902eebf09100dde2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/a83337a813d1398789bf4190a56dc3c4d8cc4d93", - "reference": "a83337a813d1398789bf4190a56dc3c4d8cc4d93", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/38462d16856740ec0d1ba2cb902eebf09100dde2", + "reference": "38462d16856740ec0d1ba2cb902eebf09100dde2", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/framework-bundle": "^5.3|^6.0", - "symfony/http-kernel": "^5.3|^6.0", - "symfony/polyfill-php80": "^1.16", - "symfony/routing": "^4.4|^5.0|^6.0", - "symfony/twig-bundle": "^4.4|^5.0|^6.0", + "php": ">=8.1", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/framework-bundle": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/twig-bundle": "^5.4|^6.0", "twig/twig": "^2.13|^3.0.4" }, "conflict": { - "symfony/dependency-injection": "<5.2", - "symfony/form": "<4.4", + "symfony/form": "<5.4", "symfony/mailer": "<5.4", - "symfony/messenger": "<4.4" + "symfony/messenger": "<5.4", + "symfony/twig-bundle": ">=7.0" }, "require-dev": { - "symfony/browser-kit": "^4.4|^5.0|^6.0", - "symfony/console": "^4.4|^5.0|^6.0", - "symfony/css-selector": "^4.4|^5.0|^6.0", - "symfony/stopwatch": "^4.4|^5.0|^6.0" + "symfony/browser-kit": "^5.4|^6.0|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/css-selector": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0" }, "type": "symfony-bundle", "autoload": { @@ -13576,8 +13265,11 @@ ], "description": "Provides a development tool that gives detailed information about the execution of any request", "homepage": "https://symfony.com", + "keywords": [ + "dev" + ], "support": { - "source": "https://github.com/symfony/web-profiler-bundle/tree/v5.4.21" + "source": "https://github.com/symfony/web-profiler-bundle/tree/v6.4.2" }, "funding": [ { @@ -13593,20 +13285,20 @@ "type": "tidelift" } ], - "time": "2023-02-17T16:59:45+00:00" + "time": "2023-12-27T08:18:35+00:00" }, { "name": "theseer/tokenizer", - "version": "1.2.1", + "version": "1.2.2", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" + "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96", + "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96", "shasum": "" }, "require": { @@ -13635,7 +13327,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.1" + "source": "https://github.com/theseer/tokenizer/tree/1.2.2" }, "funding": [ { @@ -13643,7 +13335,7 @@ "type": "github" } ], - "time": "2021-07-28T10:34:58+00:00" + "time": "2023-11-20T00:12:19+00:00" } ], "aliases": [], @@ -13652,11 +13344,14 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": "^7.4.0", + "php": "^8.2.0", "ext-ctype": "*", "ext-iconv": "*", "ext-json": "*" }, "platform-dev": [], + "platform-overrides": { + "php": "8.2" + }, "plugin-api-version": "2.6.0" } diff --git a/config/bootstrap.php b/config/bootstrap.php deleted file mode 100755 index 55560fb8..00000000 --- a/config/bootstrap.php +++ /dev/null @@ -1,23 +0,0 @@ -=1.2) -if (is_array($env = @include dirname(__DIR__).'/.env.local.php') && (!isset($env['APP_ENV']) || ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? $env['APP_ENV']) === $env['APP_ENV'])) { - (new Dotenv(false))->populate($env); -} else { - // load all the .env files - (new Dotenv(false))->loadEnv(dirname(__DIR__).'/.env'); -} - -$_SERVER += $_ENV; -$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? null) ?: 'dev'; -$_SERVER['APP_DEBUG'] = $_SERVER['APP_DEBUG'] ?? $_ENV['APP_DEBUG'] ?? 'prod' !== $_SERVER['APP_ENV']; -$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = (int) $_SERVER['APP_DEBUG'] || filter_var($_SERVER['APP_DEBUG'], FILTER_VALIDATE_BOOLEAN) ? '1' : '0'; diff --git a/config/bundles.php b/config/bundles.php index 28b928c6..7bb0d844 100755 --- a/config/bundles.php +++ b/config/bundles.php @@ -2,7 +2,6 @@ return [ Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true], - Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true], Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true], Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true], Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true], @@ -11,10 +10,9 @@ Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true], Symfony\WebpackEncoreBundle\WebpackEncoreBundle::class => ['all' => true], Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle::class => ['dev' => true, 'test' => true], - Knp\Bundle\MarkdownBundle\KnpMarkdownBundle::class => ['all' => true], Twig\Extra\TwigExtraBundle\TwigExtraBundle::class => ['all' => true], Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true], - Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true, 'test' => true], + Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true], Liip\ImagineBundle\LiipImagineBundle::class => ['all' => true], Oneup\FlysystemBundle\OneupFlysystemBundle::class => ['all' => true], Knp\Bundle\TimeBundle\KnpTimeBundle::class => ['all' => true], @@ -23,7 +21,7 @@ Endroid\QrCodeBundle\EndroidQrCodeBundle::class => ['all' => true], FOS\CKEditorBundle\FOSCKEditorBundle::class => ['all' => true], DAMA\DoctrineTestBundle\DAMADoctrineTestBundle::class => ['test' => true], - HtmlSanitizer\Bundle\HtmlSanitizerBundle::class => ['all' => true], Symfony\UX\Turbo\TurboBundle::class => ['all' => true], SymfonyCasts\Bundle\ResetPassword\SymfonyCastsResetPasswordBundle::class => ['all' => true], + Symfony\UX\StimulusBundle\StimulusBundle::class => ['all' => true], ]; diff --git a/config/packages/assets.yaml b/config/packages/assets.yaml deleted file mode 100755 index 051d36dc..00000000 --- a/config/packages/assets.yaml +++ /dev/null @@ -1,3 +0,0 @@ -framework: - assets: - json_manifest_path: '%kernel.project_dir%/public/build/manifest.json' diff --git a/config/packages/debug.yaml b/config/packages/debug.yaml new file mode 100644 index 00000000..ad874afd --- /dev/null +++ b/config/packages/debug.yaml @@ -0,0 +1,5 @@ +when@dev: + debug: + # Forwards VarDumper Data clones to a centralized server allowing to inspect dumps on CLI or in your browser. + # See the "server:dump" command to start a new server. + dump_destination: "tcp://%env(VAR_DUMPER_SERVER)%" diff --git a/config/packages/dev/debug.yaml b/config/packages/dev/debug.yaml deleted file mode 100755 index 26d4e53d..00000000 --- a/config/packages/dev/debug.yaml +++ /dev/null @@ -1,4 +0,0 @@ -debug: - # Forwards VarDumper Data clones to a centralized server allowing to inspect dumps on CLI or in your browser. - # See the "server:dump" command to start a new server. - dump_destination: "tcp://%env(VAR_DUMPER_SERVER)%" diff --git a/config/packages/dev/monolog.yaml b/config/packages/dev/monolog.yaml deleted file mode 100755 index b1998da1..00000000 --- a/config/packages/dev/monolog.yaml +++ /dev/null @@ -1,19 +0,0 @@ -monolog: - handlers: - main: - type: stream - path: "%kernel.logs_dir%/%kernel.environment%.log" - level: debug - channels: ["!event"] - # uncomment to get logging in your browser - # you may have to allow bigger header sizes in your Web server configuration - #firephp: - # type: firephp - # level: info - #chromephp: - # type: chromephp - # level: info - console: - type: console - process_psr_3_messages: false - channels: ["!event", "!doctrine", "!console"] diff --git a/config/packages/dev/web_profiler.yaml b/config/packages/dev/web_profiler.yaml deleted file mode 100755 index e92166a7..00000000 --- a/config/packages/dev/web_profiler.yaml +++ /dev/null @@ -1,6 +0,0 @@ -web_profiler: - toolbar: true - intercept_redirects: false - -framework: - profiler: { only_exceptions: false } diff --git a/config/packages/doctrine.yaml b/config/packages/doctrine.yaml index 97cf1a5a..ebef0a7f 100755 --- a/config/packages/doctrine.yaml +++ b/config/packages/doctrine.yaml @@ -2,21 +2,88 @@ doctrine: dbal: # configure these for your database server driver: 'pdo_mysql' - server_version: '5.6' +# server_version: '5.6' charset: utf8mb4 default_table_options: charset: utf8mb4 collate: utf8mb4_unicode_ci url: '%env(resolve:DATABASE_URL)%' + + # IMPORTANT: You MUST configure your server version, + # either here or in the DATABASE_URL env var (see .env file) + #server_version: '16' + + profiling_collect_backtrace: '%kernel.debug%' orm: auto_generate_proxy_classes: true + enable_lazy_ghost_objects: true + report_fields_where_declared: true + validate_xml_mapping: true naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware auto_mapping: true mappings: App: + type: attribute is_bundle: false - type: annotation dir: '%kernel.project_dir%/src/Entity' prefix: 'App\Entity' alias: App + +when@test: + doctrine: + dbal: + # "TEST_TOKEN" is typically set by ParaTest + dbname_suffix: '_test%env(default::TEST_TOKEN)%' + +when@prod: + doctrine: + orm: + auto_generate_proxy_classes: false + proxy_dir: '%kernel.build_dir%/doctrine/orm/Proxies' + query_cache_driver: + type: pool + pool: doctrine.system_cache_pool + result_cache_driver: + type: pool + pool: doctrine.result_cache_pool + + framework: + cache: + pools: + doctrine.result_cache_pool: + adapter: cache.app + doctrine.system_cache_pool: + adapter: cache.system +#doctrine: +# orm: +# auto_generate_proxy_classes: false +# metadata_cache_driver: +# type: service +# id: doctrine.system_cache_provider +# query_cache_driver: +# type: service +# id: doctrine.system_cache_provider +# result_cache_driver: +# type: service +# id: doctrine.result_cache_provider +# +#services: +# doctrine.result_cache_provider: +# class: Symfony\Component\Cache\DoctrineProvider +# public: false +# arguments: +# - '@doctrine.result_cache_pool' +# doctrine.system_cache_provider: +# class: Symfony\Component\Cache\DoctrineProvider +# public: false +# arguments: +# - '@doctrine.system_cache_pool' +# +#framework: +# cache: +# pools: +# doctrine.result_cache_pool: +# adapter: cache.app +# doctrine.system_cache_pool: +# adapter: cache.system diff --git a/config/packages/doctrine_migrations.yaml b/config/packages/doctrine_migrations.yaml index c94dff31..908f1309 100755 --- a/config/packages/doctrine_migrations.yaml +++ b/config/packages/doctrine_migrations.yaml @@ -8,3 +8,7 @@ doctrine_migrations: # # as migrations classes should NOT be autoloaded ## 'DoctrineMigrations': '%kernel.project_dir%/src/Migrations' # 'App\Migrations': '%kernel.project_dir%/src/Migrations' + # namespace is arbitrary but should be different from App\Migrations + # as migrations classes should NOT be autoloaded + + enable_profiler: false diff --git a/config/packages/endroid_qr_code.yaml b/config/packages/endroid_qr_code.yaml index 0271044a..e35f4a4e 100644 --- a/config/packages/endroid_qr_code.yaml +++ b/config/packages/endroid_qr_code.yaml @@ -1,8 +1,8 @@ endroid_qr_code: - writer: 'png' + writer: Endroid\QrCode\Writer\PngWriter size: 250 margin: 10 - error_correction_level: 'low' - validate_result: false - logo_width: 60 - logo_height: 60 + errorCorrectionLevel: 'low' + validateResult: false + logoResizeToWidth: 60 + logoResizeToHeight: 60 diff --git a/config/packages/framework.yaml b/config/packages/framework.yaml index 62796593..4b606680 100755 --- a/config/packages/framework.yaml +++ b/config/packages/framework.yaml @@ -2,7 +2,9 @@ framework: secret: '%env(APP_SECRET)%' #csrf_protection: true + annotations: false http_method_override: false + handle_all_throwables: true # Enables session support. Note that the session will ONLY be started if you read or write from it. # Remove or comment this section to explicitly disable session support. @@ -10,7 +12,6 @@ framework: handler_id: null cookie_secure: auto cookie_samesite: lax - storage_factory_id: session.storage.factory.native #esi: true #fragments: true diff --git a/config/packages/html_sanitizer.yaml b/config/packages/html_sanitizer.yaml deleted file mode 100644 index eaba861a..00000000 --- a/config/packages/html_sanitizer.yaml +++ /dev/null @@ -1,18 +0,0 @@ -html_sanitizer: - default_sanitizer: 'default' - sanitizers: - default: - # Read https://github.com/tgalopin/html-sanitizer/blob/master/docs/1-getting-started.md#extensions - # to learn more about which extensions you would like to enable. - extensions: - - 'basic' - # - 'list' - # - 'table' - # - 'image' - # - 'code' - # - 'iframe' - # - 'details' - # - 'extra' - - # Read https://github.com/tgalopin/html-sanitizer/blob/master/docs/3-configuration-reference.md - # to discover all the available options for each extension. diff --git a/config/packages/liip_imagine.yaml b/config/packages/liip_imagine.yaml index 87892591..b6d86ca3 100755 --- a/config/packages/liip_imagine.yaml +++ b/config/packages/liip_imagine.yaml @@ -1,7 +1,11 @@ +# Documentation on how to configure the bundle can be found at: https://symfony.com/doc/current/bundles/LiipImagineBundle/basic-usage.html + liip_imagine: # # valid drivers options include "gd" or "gmagick" or "imagick" - # driver: "gd" + driver: "gd" # + twig: + mode: "lazy" loaders: flysystem_loader: @@ -12,14 +16,17 @@ liip_imagine: data_loader: flysystem_loader resolvers: + default: + web_path: ~ flysystem_resolver: flysystem: filesystem_service: oneup_flysystem.public_uploads_filesystem_filesystem - cache_prefix: media/cache + cache_prefix: uploads/media/cache root_url: '%uploads_base_url%' # default cache resolver for saving thumbnails - cache: flysystem_resolver +# cache: flysystem_resolver + cache: ~ filter_sets: # @@ -161,4 +168,4 @@ liip_imagine: # background: # size: [256, 256] # position: center -# color: '#fff' +# color: '#fff' \ No newline at end of file diff --git a/config/packages/monolog.yaml b/config/packages/monolog.yaml new file mode 100644 index 00000000..8deca1e3 --- /dev/null +++ b/config/packages/monolog.yaml @@ -0,0 +1,94 @@ +monolog: + channels: + - deprecation # Deprecations are logged in the dedicated "deprecation" channel when it exists + +when@dev: + monolog: + handlers: + main: + type: stream + path: "%kernel.logs_dir%/%kernel.environment%.log" + level: debug + channels: ["!event"] + # uncomment to get logging in your browser + # you may have to allow bigger header sizes in your Web server configuration + #firephp: + # type: firephp + # level: info + #chromephp: + # type: chromephp + # level: info + console: + type: console + process_psr_3_messages: false + channels: ["!event", "!doctrine", "!console"] +#monolog: +# handlers: +# main: +# type: stream +# path: "%kernel.logs_dir%/%kernel.environment%.log" +# level: debug +# channels: ["!event"] +# # uncomment to get logging in your browser +# # you may have to allow bigger header sizes in your Web server configuration +# #firephp: +# # type: firephp +# # level: info +# #chromephp: +# # type: chromephp +# # level: info +# console: +# type: console +# process_psr_3_messages: false +# channels: ["!event", "!doctrine", "!console"] + +when@test: + monolog: + handlers: + main: + type: fingers_crossed + action_level: error + handler: nested + excluded_http_codes: [404, 405] + channels: ["!event"] + nested: + type: stream + path: "%kernel.logs_dir%/%kernel.environment%.log" + level: debug +#monolog: +# handlers: +# main: +# type: fingers_crossed +# action_level: error +# handler: nested +# excluded_http_codes: [404, 405] +# channels: ["!event"] +# nested: +# type: stream +# path: "%kernel.logs_dir%/%kernel.environment%.log" +# level: debug + + +when@prod: + monolog: + handlers: + main: + type: fingers_crossed + action_level: error + handler: nested + excluded_http_codes: [404, 405] + buffer_size: 50 # How many messages should be saved? Prevent memory leaks + nested: + type: stream + path: php://stderr + level: debug + formatter: monolog.formatter.json + console: + type: console + process_psr_3_messages: false + channels: ["!event", "!doctrine"] + deprecation: + type: stream + channels: [deprecation] + path: php://stderr + formatter: monolog.formatter.json diff --git a/config/packages/oneup_flysystem.yaml b/config/packages/oneup_flysystem.yaml index 0adad280..4b77317c 100755 --- a/config/packages/oneup_flysystem.yaml +++ b/config/packages/oneup_flysystem.yaml @@ -1,15 +1,19 @@ -# Read the documentation: https://github.com/1up-lab/OneupFlysystemBundle/tree/master/Resources/doc/index.md +# Read the documentation: https://github.com/1up-lab/OneupFlysystemBundle oneup_flysystem: adapters: public_uploads_adapter: local: - directory: '%kernel.project_dir%/public/%uploads_dir_name%' + location: '%kernel.project_dir%/public/%uploads_dir_name%' private_uploads_adapter: local: - directory: '%kernel.project_dir%/public/pre/%uploads_dir_name%' + location: '%kernel.project_dir%/public/pre/%uploads_dir_name%' filesystems: + # default_filesystem: + # adapter: public_uploads_adapter + # alias: League\Flysystem\Filesystem public_uploads_filesystem: adapter: public_uploads_adapter + alias: League\Flysystem\Filesystem private_uploads_filesystem: adapter: private_uploads_adapter -# alias: League\Flysystem\Filesystem + alias: League\Flysystem\Filesystem \ No newline at end of file diff --git a/config/packages/prod/deprecations.yaml b/config/packages/prod/deprecations.yaml deleted file mode 100755 index 920a0619..00000000 --- a/config/packages/prod/deprecations.yaml +++ /dev/null @@ -1,8 +0,0 @@ -# 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: "%kernel.logs_dir%/%kernel.environment%.deprecations.log" diff --git a/config/packages/prod/doctrine.yaml b/config/packages/prod/doctrine.yaml deleted file mode 100755 index 0a7c53b4..00000000 --- a/config/packages/prod/doctrine.yaml +++ /dev/null @@ -1,32 +0,0 @@ -doctrine: - orm: - auto_generate_proxy_classes: false - metadata_cache_driver: - type: service - id: doctrine.system_cache_provider - query_cache_driver: - type: service - id: doctrine.system_cache_provider - result_cache_driver: - type: service - id: doctrine.result_cache_provider - -services: - doctrine.result_cache_provider: - class: Symfony\Component\Cache\DoctrineProvider - public: false - arguments: - - '@doctrine.result_cache_pool' - doctrine.system_cache_provider: - class: Symfony\Component\Cache\DoctrineProvider - public: false - arguments: - - '@doctrine.system_cache_pool' - -framework: - cache: - pools: - doctrine.result_cache_pool: - adapter: cache.app - doctrine.system_cache_pool: - adapter: cache.system diff --git a/config/packages/prod/monolog.yaml b/config/packages/prod/monolog.yaml deleted file mode 100755 index bfe69c01..00000000 --- a/config/packages/prod/monolog.yaml +++ /dev/null @@ -1,16 +0,0 @@ -monolog: - handlers: - main: - type: fingers_crossed - action_level: error - handler: nested - excluded_http_codes: [404, 405] - buffer_size: 50 # How many messages should be saved? Prevent memory leaks - nested: - type: stream - path: "%kernel.logs_dir%/%kernel.environment%.log" - level: debug - console: - type: console - process_psr_3_messages: false - channels: ["!event", "!doctrine"] diff --git a/config/packages/prod/routing.yaml b/config/packages/prod/routing.yaml deleted file mode 100755 index b3e6a0af..00000000 --- a/config/packages/prod/routing.yaml +++ /dev/null @@ -1,3 +0,0 @@ -framework: - router: - strict_requirements: null diff --git a/config/packages/prod/webpack_encore.yaml b/config/packages/prod/webpack_encore.yaml deleted file mode 100755 index d0b3ba81..00000000 --- a/config/packages/prod/webpack_encore.yaml +++ /dev/null @@ -1,4 +0,0 @@ -#webpack_encore: - # Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes) - # Available in version 1.2 - #cache: true diff --git a/config/packages/routing.yaml b/config/packages/routing.yaml index 5c986a9e..4b766ce5 100755 --- a/config/packages/routing.yaml +++ b/config/packages/routing.yaml @@ -1,5 +1,12 @@ framework: router: - strict_requirements: ~ utf8: true + # Configure how to generate URLs in non-HTTP contexts, such as CLI commands. + # See https://symfony.com/doc/current/routing.html#generating-urls-in-commands + #default_uri: http://localhost + +when@prod: + framework: + router: + strict_requirements: null diff --git a/config/packages/security.yaml b/config/packages/security.yaml index 3dc920d7..7ec3265e 100755 --- a/config/packages/security.yaml +++ b/config/packages/security.yaml @@ -4,11 +4,11 @@ security: password_hashers: Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto' - encoders: - App\Entity\User: - algorithm: auto # https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers + # https://symfony.com/doc/current/security.html#registering-the-user-hashing-passwords + + # https://symfony.com/doc/current/security.html#loading-the-user-the-user-provider providers: # used to reload user from session & other features (e.g. switch_user) app_user_provider: @@ -26,9 +26,9 @@ security: pattern: ^/(_(profiler|wdt)|css|images|js)/ security: false main: + lazy: true pattern: ^/ # anonymous: lazy - lazy: true provider: app_user_provider custom_authenticator: - App\Security\LoginFormAuthenticator @@ -51,7 +51,7 @@ security: # activate different ways to authenticate - # https://symfony.com/doc/current/security.html#firewalls-authentication + # https://symfony.com/doc/current/security.html#the-firewall # https://symfony.com/doc/current/security/impersonating_user.html # switch_user: true @@ -69,3 +69,16 @@ security: - { path: ^/index, role: PUBLIC_ACCESS } - { path: ^/admin, role: IS_AUTHENTICATED_FULLY } + +when@test: + security: + password_hashers: + # By default, password hashers are resource intensive and take time. This is + # important to generate secure password hashes. In tests however, secure hashes + # are not important, waste resources and increase test times. The following + # reduces the work factor to the lowest possible values. + Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: + algorithm: auto + cost: 4 # Lowest possible value for bcrypt + time_cost: 3 # Lowest possible value for argon + memory_cost: 10 # Lowest possible value for argon diff --git a/config/packages/sensio_framework_extra.yaml b/config/packages/sensio_framework_extra.yaml deleted file mode 100755 index 1821ccc0..00000000 --- a/config/packages/sensio_framework_extra.yaml +++ /dev/null @@ -1,3 +0,0 @@ -sensio_framework_extra: - router: - annotations: false diff --git a/config/packages/test/monolog.yaml b/config/packages/test/monolog.yaml deleted file mode 100755 index fc40641d..00000000 --- a/config/packages/test/monolog.yaml +++ /dev/null @@ -1,12 +0,0 @@ -monolog: - handlers: - main: - type: fingers_crossed - action_level: error - handler: nested - excluded_http_codes: [404, 405] - channels: ["!event"] - nested: - type: stream - path: "%kernel.logs_dir%/%kernel.environment%.log" - level: debug diff --git a/config/packages/test/validator.yaml b/config/packages/test/validator.yaml deleted file mode 100755 index 1e5ab788..00000000 --- a/config/packages/test/validator.yaml +++ /dev/null @@ -1,3 +0,0 @@ -framework: - validation: - not_compromised_password: false diff --git a/config/packages/test/web_profiler.yaml b/config/packages/test/web_profiler.yaml deleted file mode 100755 index 03752de2..00000000 --- a/config/packages/test/web_profiler.yaml +++ /dev/null @@ -1,6 +0,0 @@ -web_profiler: - toolbar: false - intercept_redirects: false - -framework: - profiler: { collect: false } diff --git a/config/packages/test/webpack_encore.yaml b/config/packages/test/webpack_encore.yaml deleted file mode 100755 index 02a76515..00000000 --- a/config/packages/test/webpack_encore.yaml +++ /dev/null @@ -1,2 +0,0 @@ -#webpack_encore: -# strict_mode: false diff --git a/config/packages/translation.yaml b/config/packages/translation.yaml index faf7b1da..7aae0212 100755 --- a/config/packages/translation.yaml +++ b/config/packages/translation.yaml @@ -4,3 +4,12 @@ framework: default_path: '%kernel.project_dir%/translations' fallbacks: - es +# providers: +# crowdin: +# dsn: '%env(CROWDIN_DSN)%' +# loco: +# dsn: '%env(LOCO_DSN)%' +# lokalise: +# dsn: '%env(LOKALISE_DSN)%' +# phrase: +# dsn: '%env(PHRASE_DSN)%' diff --git a/config/packages/twig.yaml b/config/packages/twig.yaml index 6ffa29f5..9a3b0bb0 100755 --- a/config/packages/twig.yaml +++ b/config/packages/twig.yaml @@ -1,4 +1,5 @@ twig: + file_name_pattern: '*.twig' default_path: '%kernel.project_dir%/templates' debug: '%kernel.debug%' strict_variables: '%kernel.debug%' @@ -19,3 +20,7 @@ twig: site_robot: '%env(resolve:SITE_ROBOT)%' + +when@test: + twig: + strict_variables: true diff --git a/config/packages/validator.yaml b/config/packages/validator.yaml index 350786a1..b0bd6efc 100755 --- a/config/packages/validator.yaml +++ b/config/packages/validator.yaml @@ -6,3 +6,9 @@ framework: # For instance, basic validation constraints will be inferred from Doctrine's metadata. #auto_mapping: # App\Entity\: [] + +when@test: + framework: + validation: + not_compromised_password: false + diff --git a/config/packages/web_profiler.yaml b/config/packages/web_profiler.yaml new file mode 100644 index 00000000..dd6de16a --- /dev/null +++ b/config/packages/web_profiler.yaml @@ -0,0 +1,18 @@ +when@dev: + web_profiler: + toolbar: true + intercept_redirects: false + + framework: + profiler: + only_exceptions: false + collect_serializer_data: true + + +when@test: + web_profiler: + toolbar: false + intercept_redirects: false + + framework: + profiler: { collect: false } diff --git a/config/packages/webpack_encore.yaml b/config/packages/webpack_encore.yaml index 50cbe3da..5c20d892 100755 --- a/config/packages/webpack_encore.yaml +++ b/config/packages/webpack_encore.yaml @@ -5,10 +5,48 @@ webpack_encore: # If multiple builds are defined (as shown below), you can disable the default build: # output_path: false + # Set attributes that will be rendered on all script and link tags + script_attributes: + defer: true + # Uncomment (also under link_attributes) if using Turbo Drive + # https://turbo.hotwired.dev/handbook/drive#reloading-when-assets-change + # 'data-turbo-track': reload + # link_attributes: + # Uncomment if using Turbo Drive + # 'data-turbo-track': reload + + # If using Encore.enableIntegrityHashes() and need the crossorigin attribute (default: false, or use 'anonymous' or 'use-credentials') # if using Encore.enableIntegrityHashes() specify the crossorigin attribute value (default: false, or use 'anonymous' or 'use-credentials') # crossorigin: 'anonymous' - + # Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes). # To enable caching for the production environment, creating a webpack_encore.yaml in the config/packages/prod directory with this value set to true # Available in version 1.2 #cache: false + + # Preload all rendered script and link tags automatically via the HTTP/2 Link header + # preload: true + + # Throw an exception if the entrypoints.json file is missing or an entry is missing from the data + # strict_mode: false + + # If you have multiple builds: + # builds: + # frontend: '%kernel.project_dir%/public/frontend/build' + + # pass the build name as the 3rd argument to the Twig functions + # {{ encore_entry_script_tags('entry1', null, 'frontend') }} + +framework: + assets: + json_manifest_path: '%kernel.project_dir%/public/build/manifest.json' + +#when@prod: +# webpack_encore: +# # Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes) +# # Available in version 1.2 +# cache: true + +#when@test: +# webpack_encore: +# strict_mode: false diff --git a/config/routes.yaml b/config/routes.yaml index 76beee25..7861a884 100755 --- a/config/routes.yaml +++ b/config/routes.yaml @@ -1,11 +1,9 @@ -#index: -# path: / -# controller: App\Controller\DefaultController::index +controllers: + resource: + path: ../src/Controller/ + namespace: App\Controller + type: attribute -index: - path: / - controller: App\Controller\ZinicioController::index - -#index: -# path: / -# defaults: { _controller: 'App\Controller\DefaultController::index' } +kernel: + resource: ../src/Kernel.php + type: annotation diff --git a/config/routes/annotations.yaml b/config/routes/annotations.yaml deleted file mode 100755 index d49a502a..00000000 --- a/config/routes/annotations.yaml +++ /dev/null @@ -1,3 +0,0 @@ -controllers: - resource: ../../src/Controller/ - type: annotation diff --git a/config/routes/dev/web_profiler.yaml b/config/routes/dev/web_profiler.yaml deleted file mode 100755 index c82beff2..00000000 --- a/config/routes/dev/web_profiler.yaml +++ /dev/null @@ -1,7 +0,0 @@ -web_profiler_wdt: - resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml' - prefix: /_wdt - -web_profiler_profiler: - resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml' - prefix: /_profiler diff --git a/config/routes/security.yaml b/config/routes/security.yaml new file mode 100644 index 00000000..f853be15 --- /dev/null +++ b/config/routes/security.yaml @@ -0,0 +1,3 @@ +_security_logout: + resource: security.route_loader.logout + type: service diff --git a/config/routes/web_profiler.yaml b/config/routes/web_profiler.yaml new file mode 100644 index 00000000..8d85319f --- /dev/null +++ b/config/routes/web_profiler.yaml @@ -0,0 +1,8 @@ +when@dev: + web_profiler_wdt: + resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml' + prefix: /_wdt + + web_profiler_profiler: + resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml' + prefix: /_profiler diff --git a/config/services.yaml b/config/services.yaml index 17f48b01..c98e4477 100755 --- a/config/services.yaml +++ b/config/services.yaml @@ -5,7 +5,7 @@ # https://symfony.com/doc/current/best_practices.html#use-parameters-for-application-configuration parameters: uploads_dir_name: 'uploads' - uploads_base_url: '%env(resolve:SITE_BASE_URL)%/%uploads_dir_name%' + uploads_base_url: '%env(SITE_BASE_UPLOADS)%' site_temporal: '%env(SITE_TEMPORAL)%' image_directory : '%kernel.project_dir%/public/image' @@ -24,6 +24,8 @@ services: $uploadedAssetsBaseUrl: '%uploads_base_url%' $site_temporal: '%site_temporal%' $site_podcasts: '%env(resolve:URL_PODCAST)%' + $uploads_dir_name: '%uploads_dir_name%' + $filesystem: '@oneup_flysystem.public_uploads_filesystem_filesystem' # makes classes in src/ available to be used as services # this creates a service per class whose id is the fully-qualified class name diff --git a/friendsofsymfony.ckeditor-bundle.updates-for-deleted-files.patch b/friendsofsymfony.ckeditor-bundle.updates-for-deleted-files.patch new file mode 100644 index 00000000..5ef01581 --- /dev/null +++ b/friendsofsymfony.ckeditor-bundle.updates-for-deleted-files.patch @@ -0,0 +1,14 @@ +diff --git a/composerjson b/composerjson +index 486d756..14c1715 100644 +--- a/composerjson ++++ b/composerjson +@@ -116,7 +116,8 @@ + "scripts": { + "auto-scripts": { + "cache:clear": "symfony-cmd", +- "assets:install %PUBLIC_DIR%": "symfony-cmd" ++ "assets:install %PUBLIC_DIR%": "symfony-cmd", ++ "ckeditor:install": "symfony-cmd" + }, + "post-install-cmd": [ + "@auto-scripts" \ No newline at end of file diff --git a/package.json b/package.json index f28ef4ba..4d6a131d 100644 --- a/package.json +++ b/package.json @@ -1,21 +1,27 @@ { "devDependencies": { + "@babel/core": "^7.17.0", + "@babel/preset-env": "^7.16.0", "@hotwired/stimulus": "^3.0.0", "@hotwired/turbo": "^7.0.1", + "@symfony/stimulus-bridge": "^3.2.0", + "@symfony/stimulus-bundle": "file:vendor/symfony/stimulus-bundle/assets", "@symfony/ux-turbo": "file:vendor/symfony/ux-turbo/assets", - "@symfony/webpack-encore": "^2.1.0", + "@symfony/webpack-encore": "^4.0.0", "autoprefixer": "^10.4.7", "bootstrap": "^5.1.3", - "core-js": "^3.0.0", + "core-js": "^3.23.0", "file-loader": "^6.0.0", "glob-all": "^3.2.1", "node-sass": "^7.0.1", "path": "^0.12.7", - "postcss-loader": "^6.2.1", + "postcss-loader": "^7.0.0", "purgecss-webpack-plugin": "^4.1.3", - "regenerator-runtime": "^0.13.2", - "sass-loader": "^12.6.0", - "webpack-notifier": "^1.6.0" + "regenerator-runtime": "^0.13.9", + "sass-loader": "^13.0.0", + "webpack": "^5.74.0", + "webpack-cli": "^4.10.0", + "webpack-notifier": "^1.15.0" }, "license": "MIT", "private": true, @@ -26,9 +32,7 @@ "build": "encore production --progress" }, "dependencies": { - "@babel/core": "^7.12.10", "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/preset-env": "^7.12.11", "@popperjs/core": "^2.10.2", "babel-loader": "^8.2.2", "bootstrap-datepicker": "^1.9.0", diff --git a/phpstan.dist.neon b/phpstan.dist.neon new file mode 100644 index 00000000..e0de575f --- /dev/null +++ b/phpstan.dist.neon @@ -0,0 +1,8 @@ +parameters: + level: 6 + paths: + - bin/ + - config/ + - public/ + - src/ + - tests/ diff --git a/phpunit.xml.dist b/phpunit.xml.dist index af3f1474..ac3ced3e 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -14,7 +14,7 @@ - + @@ -32,11 +32,14 @@ - - + + + --> + diff --git a/public/.htaccess b/public/.htaccess index 2776637c..f7345dfb 100755 --- a/public/.htaccess +++ b/public/.htaccess @@ -9,7 +9,7 @@ DirectoryIndex index.php # feature in your server configuration. Uncomment the following line if you # install assets as symlinks or if you experience problems related to symlinks # when compiling LESS/Sass/CoffeScript assets. -# Options +FollowSymlinks +# Options +SymLinksIfOwnerMatch # Disabling MultiViews prevents unwanted negotiation, e.g. "/index" should not resolve # to the front controller "/index.php" but be rewritten to "/index.php/index". @@ -18,6 +18,10 @@ DirectoryIndex index.php + # This Option needs to be enabled for RewriteRule, otherwise it will show an error like + # 'Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden' + Options +SymLinksIfOwnerMatch + RewriteEngine On # Determine the RewriteBase automatically and set it as environment variable. diff --git a/public/index.php b/public/index.php index 9982c218..cf18ce02 100755 --- a/public/index.php +++ b/public/index.php @@ -4,6 +4,4 @@ require_once dirname(__DIR__).'/vendor/autoload_runtime.php'; -return function (array $context) { - return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']); -}; +return fn(array $context) => new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']); diff --git a/rector.php b/rector.php new file mode 100644 index 00000000..a12c75e4 --- /dev/null +++ b/rector.php @@ -0,0 +1,37 @@ +paths([ + __DIR__ . '/config', + __DIR__ . '/node_modules', + __DIR__ . '/public', + __DIR__ . '/src', + __DIR__ . '/tests', + __DIR__ . '/tools', + ]); + + // register a single rule + $rectorConfig->rule(InlineConstructorDefaultToPropertyRector::class); + + // define sets of rules + $rectorConfig->sets([ +// LevelSetList::UP_TO_PHP_82 +// DoctrineSetList::ANNOTATIONS_TO_ATTRIBUTES, +// SymfonySetList::ANNOTATIONS_TO_ATTRIBUTES, +// SensiolabsSetList::ANNOTATIONS_TO_ATTRIBUTES + + SymfonySetList::SYMFONY_64, + SymfonySetList::SYMFONY_CODE_QUALITY, + SymfonySetList::SYMFONY_CONSTRUCTOR_INJECTION, + ]); +}; diff --git a/rector_old.php b/rector_old.php new file mode 100644 index 00000000..6d8145f3 --- /dev/null +++ b/rector_old.php @@ -0,0 +1,29 @@ +paths([ + __DIR__ . '/config', + __DIR__ . '/node_modules', + __DIR__ . '/public', + __DIR__ . '/src', + __DIR__ . '/tests', + ]); + + // register a single rule + $rectorConfig->rule(InlineConstructorDefaultToPropertyRector::class); + + // define sets of rules + $rectorConfig->sets([ + LevelSetList::UP_TO_PHP_80, +// SymfonySetList::SYMFONY_54, +// SymfonySetList::SYMFONY_CODE_QUALITY, +// SymfonySetList::SYMFONY_CONSTRUCTOR_INJECTION, + ]); +}; diff --git a/src/Command/AddUserCommand.php b/src/Command/AddUserCommand.php index b9eedd56..16316849 100644 --- a/src/Command/AddUserCommand.php +++ b/src/Command/AddUserCommand.php @@ -14,7 +14,6 @@ use App\Entity\User; use App\Repository\UserRepository; use App\Utils\Validator; -use DateTime; use Doctrine\ORM\EntityManagerInterface; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Exception\RuntimeException; @@ -25,6 +24,7 @@ use Symfony\Component\Console\Style\SymfonyStyle; use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface; use Symfony\Component\Stopwatch\Stopwatch; + use function Symfony\Component\String\u; /** @@ -47,39 +47,19 @@ * @author Javier Eguiluz * @author Yonel Ceruto */ +#[\Symfony\Component\Console\Attribute\AsCommand('app:add-user', 'Crear usuarios y guardarlos en la base de datos')] class AddUserCommand extends Command { - // to make your command lazily loaded, configure the $defaultName static property, - // so it will be instantiated only when the command is actually called. - protected static $defaultName = 'app:add-user'; - - /** - * @var SymfonyStyle - */ private SymfonyStyle $io; - private EntityManagerInterface $entityManager; - private UserPasswordHasherInterface $passwordEncoder; - private Validator $validator; - private UserRepository $users; - - public function __construct(EntityManagerInterface $em, UserPasswordHasherInterface $encoder, Validator $validator, UserRepository $users) + public function __construct(private readonly EntityManagerInterface $entityManager, private readonly UserPasswordHasherInterface $userPasswordHasher, private readonly Validator $validator, private readonly UserRepository $users) { parent::__construct(); - - $this->entityManager = $em; - $this->passwordEncoder = $encoder; - $this->validator = $validator; - $this->users = $users; } - /** - * {@inheritdoc} - */ protected function configure(): void { $this - ->setDescription('Crear usuarios y guardarlos en la base de datos') ->setHelp($this->getCommandHelp()) // commands can optionally define arguments and/or options (mandatory and optional) // see https://symfony.com/doc/current/components/console/console_arguments.html @@ -133,7 +113,7 @@ protected function interact(InputInterface $input, OutputInterface $output) if (null !== $email) { $this->io->text(' > Email: '.$email); } else { - $email = $this->io->ask('Email', null, [$this->validator, 'validateEmail']); + $email = $this->io->ask('Email', null, $this->validator->validateEmail(...)); $input->setArgument('email', $email); } @@ -142,17 +122,16 @@ protected function interact(InputInterface $input, OutputInterface $output) if (null !== $password) { $this->io->text(' > Password: '.u('*')->repeat(u($password)->length())); } else { - $password = $this->io->askHidden('Password (your type will be hidden)', [$this->validator, 'validatePassword']); + $password = $this->io->askHidden('Password (your type will be hidden)', $this->validator->validatePassword(...)); $input->setArgument('password', $password); } - // Ask for the primer nombre if it's not defined $primerNombre = $input->getArgument('primerNombre'); if (null !== $primerNombre) { $this->io->text(' > Primer Nombre: '.$primerNombre); } else { - $primerNombre = $this->io->ask('Primer Nombre', null, [$this->validator, 'validatePrimerNombre']); + $primerNombre = $this->io->ask('Primer Nombre', null, $this->validator->validatePrimerNombre(...)); $input->setArgument('primerNombre', $primerNombre); } } @@ -177,26 +156,26 @@ protected function execute(InputInterface $input, OutputInterface $output): int // create the user and encode its password $user = new User(); $user->setEmail($email); - $user->setRoles([$isAdmin ? 'ROLE_'.strtoupper($isAdmin) : 'ROLE_USER']); + $user->setRoles([$isAdmin ? 'ROLE_'.strtoupper((string) $isAdmin) : 'ROLE_USER']); $user->setIsActive(true); // See https://symfony.com/doc/current/security.html#c-encoding-passwords - $encodedPassword = $this->passwordEncoder->hashPassword($user, $plainPassword); + $encodedPassword = $this->userPasswordHasher->hashPassword($user, $plainPassword); $user->setPassword($encodedPassword); $user->setPrimerNombre($primerNombre); - $user->aceptaTerminos( new DateTime('now')); + $user->aceptaTerminos(); $this->entityManager->persist($user); $this->entityManager->flush(); - $this->io->success(sprintf('%s was successfully created: %s ', $isAdmin ? $isAdmin . ' user' : 'User', $user->getEmail())); + $this->io->success(sprintf('%s was successfully created: %s ', $isAdmin ? $isAdmin.' user' : 'User', $user->getEmail())); $event = $stopwatch->stop('add-user-command'); if ($output->isVerbose()) { $this->io->comment(sprintf('New user database id: %d / Elapsed time: %.2f ms / Consumed memory: %.2f MB', $user->getId(), $event->getDuration(), $event->getMemory() / (1024 ** 2))); } - return 0; + return Command::SUCCESS; } private function validateUserData($email, $plainPassword, $primerNombre): void @@ -212,7 +191,6 @@ private function validateUserData($email, $plainPassword, $primerNombre): void $this->validator->validatePassword($plainPassword); $this->validator->validateEmail($email); $this->validator->validatePrimerNombre($primerNombre); - } /** diff --git a/src/Command/EntradaStatsCommand.php b/src/Command/EntradaStatsCommand.php index 98b58ef0..fa9d5242 100755 --- a/src/Command/EntradaStatsCommand.php +++ b/src/Command/EntradaStatsCommand.php @@ -9,14 +9,12 @@ use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Style\SymfonyStyle; +#[\Symfony\Component\Console\Attribute\AsCommand('entrada:stats', 'Devuelve datos sobre una entrada')] class EntradaStatsCommand extends Command { - protected static $defaultName = 'entrada:stats'; - protected function configure() { $this - ->setDescription('Devuelve datos sobre una entrada') ->addArgument('identificador', InputArgument::REQUIRED, 'El identificador del artículo') ->addOption('format', null, InputOption::VALUE_REQUIRED, 'Formato de salida', 'text') ; @@ -29,7 +27,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int $data = [ 'identificador' => $identificador, - 'vistas' => rand(10, 100), + 'vistas' => random_int(10, 100), ]; if ($identificador) { @@ -53,6 +51,6 @@ protected function execute(InputInterface $input, OutputInterface $output): int $io->success('Recuerda que --help mostrará más opciones.'); - return 0; + return Command::SUCCESS; } } diff --git a/src/Controller/AdminBroteController.php b/src/Controller/AdminBroteController.php deleted file mode 100644 index d59fd63c..00000000 --- a/src/Controller/AdminBroteController.php +++ /dev/null @@ -1,153 +0,0 @@ -isDebug = $isDebug; - $this->loggerClient = $loggerClient; - $this->boleanToDateHelper = $boleanToDateHelper; - } - - /** - * @Route("/admin/brote/new", name="admin_brote_new") - * @IsGranted("ROLE_ESCRITOR") - * - * @param EntityManagerInterface $em - * @param Request $request - * @param UploaderHelper $uploaderHelper - * @return RedirectResponse|Response - * @throws Exception - */ - public function new(EntityManagerInterface $em, Request $request, UploaderHelper $uploaderHelper) - { - $brote = new Principal(); - $user = $this->getUser(); - $brote->setAutor($user); - - $form = $this->createForm(BroteType::class, $brote); - - $form->handleRequest($request); - if ($form->isSubmitted() && $form->isValid()) { - /** @var Principal $brote */ - $brote = $form->getData(); - - /** @var UploadedFile $uploadedFile */ - $uploadedFile = $form['imageFile']->getData(); - - $link = $form['linkRoute']->getData(); - $titulo = $form['titulo']->getData(); - - if ('' != $link) { - $link = strtolower(str_replace(' ', '-', trim($link))); - } else { - $link = strtolower(str_replace(' ', '-', trim($titulo))); - } - $brote->setLinkRoute($link); - - if ($uploadedFile) { - $newFilename = $uploaderHelper->uploadEntradaImage($uploadedFile, false); - $brote->setImageFilename($newFilename); - } - - $boolean = $form['publicar']->getData(); - - $publicado = $this->boleanToDateHelper->setDatatimeForTrue($boolean); - $brote->setCreatedAt($publicado); - - $em->persist($brote); - $em->flush(); - - $this->addFlash('success', 'Se agregó brote a link principal'); - - return $this->redirectToRoute('admin_brote_list'); - } - - return $this->render('admin_brote/new.html.twig', [ - 'broteForm' => $form->createView(), - 'brote' => $brote, - ]); - } - - /** - * @Route("/admin/brote/{linkRoute}/edit", name="admin_brote_edit") - * @IsGranted("ROLE_ESCRITOR") - * @param Brote $brote - * @param Request $request - * @param EntityManagerInterface $em - * @param UploaderHelper $uploaderHelper - * @return RedirectResponse|Response - * @throws Exception - */ - public function edit(Brote $brote, Request $request, EntityManagerInterface $em, UploaderHelper $uploaderHelper) - { - $form = $this->createForm(BroteType::class, $brote); - $form->handleRequest($request); - if ($form->isSubmitted() && $form->isValid()) { - $boolean = $form['publicar']->getData(); - $publicado = $this->boleanToDateHelper->setDatatimeForTrue($boolean); - $brote->setPublicadoAt($publicado); - - /** @var UploadedFile $uploadedFile */ - $uploadedFile = $form['imageFile']->getData(); - if ($uploadedFile) { - $newFilename = $uploaderHelper->uploadEntradaImage($uploadedFile, false); - $brote->setImageFilename($newFilename); - } - - - - $em->persist($brote); - $em->flush(); - $this->addFlash('success', 'Elemento Actualizado'); - return $this->redirectToRoute('admin_brote_edit', [ - 'linkRoute'=>$brote->getLinkRoute() - ]); - } - return $this->render('admin_brote/edit.html.twig', [ - 'broteForm' => $form->createView(), - 'brote' => $brote - ]); - } - - /** - * @Route("/admin/brote", name="admin_brote_list") - * @param BroteRepository $broteRepository - * @return Response - */ - public function list(BroteRepository $broteRepository): Response - { - return $this->render('admin_brote/index.html.twig', [ - 'brotes' => $broteRepository->findAll(), - ]); - } -} diff --git a/src/Controller/AdminComentariosController.php b/src/Controller/AdminComentariosController.php index a9f6235c..630fa92f 100755 --- a/src/Controller/AdminComentariosController.php +++ b/src/Controller/AdminComentariosController.php @@ -3,7 +3,6 @@ namespace App\Controller; use App\Repository\ComentarioRepository; -use Knp\Component\Pager\Pagination\PaginationInterface; use Knp\Component\Pager\PaginatorInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; @@ -12,25 +11,20 @@ class AdminComentariosController extends AbstractController { - /** - * @Route("/admin/comentarios", name="admin_comentarios") - * @param ComentarioRepository $comentarioRepository - * @param Request $request - * @param PaginatorInterface $paginator - * @return Response - */ - public function index(ComentarioRepository $comentarioRepository, Request $request, PaginatorInterface $paginator) + #[Route(path: '/admin/comentarios', name: 'admin_comentarios')] + public function index(ComentarioRepository $comentarioRepository, Request $request, PaginatorInterface $paginator): Response { $q = $request->query->get('q'); $queryBuilder = $comentarioRepository->searchQueryBuilder($q); $comentarios = $paginator->paginate( $queryBuilder, /* query NOT result */ - $request->query->getInt('page', 1)/*page number*/, - 10/*limit per page*/ + $request->query->getInt('page', 1)/* page number */, + 10/* limit per page */ ); + return $this->render('admin_comentarios/index.html.twig', [ - 'comentarios' => $comentarios + 'comentarios' => $comentarios, ]); } } diff --git a/src/Controller/AdminController.php b/src/Controller/AdminController.php index a32dfb7f..8402dd2f 100644 --- a/src/Controller/AdminController.php +++ b/src/Controller/AdminController.php @@ -8,26 +8,16 @@ use App\Repository\MetaBaseRepository; use App\Repository\PrincipalRepository; use App\Repository\SectionRepository; -use DateTime; use Knp\Component\Pager\PaginatorInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -use Symfony\Component\Serializer\Normalizer\ObjectNormalizer; -use Symfony\Component\Serializer\Serializer; class AdminController extends AbstractController { - /** - * @Route("/admin/general", name="admin") - * @param PrincipalRepository $principalRepository - * @param MetaBaseRepository $metaBaseRepository - * @param PaginatorInterface $paginator - * @param Request $request - * @return Response - */ + #[Route(path: '/admin/general', name: 'admin')] public function index( PrincipalRepository $principalRepository, MetaBaseRepository $metaBaseRepository, @@ -39,31 +29,23 @@ public function index( $queryPrincipales = $principalRepository->queryFindAllPrincipals($bus); $principales = $paginator->paginate( $queryPrincipales, /* query NOT result */ - $request->query->getInt('page', 1)/*page number*/, - 20/*limit per page*/ + $request->query->getInt('page', 1)/* page number */, + 20/* limit per page */ ); - -// if ($this->isGranted('ROLE_ADMIN')) { + // if ($this->isGranted('ROLE_ADMIN')) { return $this->render('admin/index.html.twig', [ 'principals' => $principales, 'meta_bases' => $metaBaseRepository->findAll(), ]); -// } + // } -// return $this->render('admin/index_escritor.html.twig', [ -// 'principals' => $principales, -// ]); + // return $this->render('admin/index_escritor.html.twig', [ + // 'principals' => $principales, + // ]); } - - /** - * @Route("/admin", name="app_admin_main") - * @param MetaBaseRepository $metaBaseRepository - * @param PaginatorInterface $paginator - * @param Request $request - * @return Response - */ + #[Route(path: '/admin', name: 'app_admin_main')] public function main( MetaBaseRepository $metaBaseRepository, PaginatorInterface $paginator, @@ -71,79 +53,64 @@ public function main( ): Response { $bus = $request->get('busq'); - - - - -// if ($this->isGranted('ROLE_ADMIN')) { + // if ($this->isGranted('ROLE_ADMIN')) { return $this->render('admin/main.html.twig', [ - 'meta_bases' => $metaBaseRepository->findAll(), ]); -// } + // } -// return $this->render('admin/index_escritor.html.twig', [ -// 'principals' => $principales, -// ]); + // return $this->render('admin/index_escritor.html.twig', [ + // 'principals' => $principales, + // ]); } - /** - * @Route("/admin/consulta-entradas-nuevas", name="admin_entradas_nuevas") - * @param EntradaRepository $entradaRepository - * @param SectionRepository $sectionRepository - * @param PrincipalRepository $principalRepository - * @param Request $request - * @return JsonResponse - */ + #[Route(path: '/admin/consulta-entradas-nuevas', name: 'admin_entradas_nuevas')] public function consultaEntradasNuevas( EntradaRepository $entradaRepository, SectionRepository $sectionRepository, - PrincipalRepository $principalRepository, - Request $request + PrincipalRepository $principalRepository ): JsonResponse { - - $fecha_final = new DateTime('now'); + $fecha_final = new \DateTime('now'); $fecha = clone $fecha_final; - $fecha_inicial = $fecha->modify("-7 days"); -// $entradas = $entradaRepository->entradasByDateAndActiveAndModification($fecha_inicial, $fecha_final)->getQuery( -// )->getResult(); -// -// $notSections = []; -// /** @var Entrada $e */ -// foreach ($entradas as $e) { -// foreach ($e->getSections() as $s) { -// array_push($notSections, $s->getId()); -// } -// } -// $secciones = $sectionRepository->sectionByDateAndActiveAndModification( -// $fecha_inicial, -// $fecha_final, -// $notSections -// )->getQuery()->getResult(); -// -// $notPrincipals = []; -// /** @var Section $s */ -// foreach ($secciones as $s) { -// foreach ($s->getPrincipales() as $p) { -// array_push($notPrincipals, $p->getId()); -// } -// } + $fecha_inicial = $fecha->modify('-7 days'); + // $entradas = $entradaRepository->entradasByDateAndActiveAndModification($fecha_inicial, $fecha_final)->getQuery( + // )->getResult(); + // + // $notSections = []; + // /** @var Entrada $e */ + // foreach ($entradas as $e) { + // foreach ($e->getSections() as $s) { + // array_push($notSections, $s->getId()); + // } + // } + // $secciones = $sectionRepository->sectionByDateAndActiveAndModification( + // $fecha_inicial, + // $fecha_final, + // $notSections + // )->getQuery()->getResult(); + // + // $notPrincipals = []; + // /** @var Section $s */ + // foreach ($secciones as $s) { + // foreach ($s->getPrincipales() as $p) { + // array_push($notPrincipals, $p->getId()); + // } + // } $principales = $principalRepository->principalByDateAndActiveAndModification( $fecha_inicial, $fecha_final, $notPrincipals = null )->getQuery()->getResult(); - return $this->json( [ // 'entradas'=>$entradas, // 'secciones' => $secciones, - 'principales'=>$principales], 200, [], [ + 'principales' => $principales], 200, [], [ 'groups' => ['mail'], ] - ) + ) ; } } diff --git a/src/Controller/AdminEntradaController.php b/src/Controller/AdminEntradaController.php index 3886d0e6..88015740 100755 --- a/src/Controller/AdminEntradaController.php +++ b/src/Controller/AdminEntradaController.php @@ -20,9 +20,7 @@ use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\Query\QueryException; use Doctrine\Persistence\ManagerRegistry; -use Exception; use Knp\Component\Pager\PaginatorInterface; -use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted; use Symfony\Component\HttpFoundation\File\UploadedFile; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Request; @@ -31,34 +29,15 @@ class AdminEntradaController extends BaseController { - private LoggerClient $loggerClient; - private BoleanToDateHelper $boleanToDateHelper; - private ManagerRegistry $managerRegistry; - /** * NO usado es opcional. - * @param LoggerClient $loggerClient - * @param BoleanToDateHelper $boleanToDateHelper - * @param ManagerRegistry $managerRegistry */ - public function __construct( - LoggerClient $loggerClient, - BoleanToDateHelper $boleanToDateHelper, - ManagerRegistry $managerRegistry - ) { - $this->loggerClient = $loggerClient; - $this->boleanToDateHelper = $boleanToDateHelper; - $this->managerRegistry = $managerRegistry; + public function __construct(private readonly LoggerClient $loggerClient, private readonly BoleanToDateHelper $boleanToDateHelper, private readonly ManagerRegistry $managerRegistry) + { } - /** - * @Route("/admin/entrada", name="admin_entrada_index") - * @IsGranted("ROLE_ESCRITOR") - * @param EntradaRepository $entradaRepository - * @param PaginatorInterface $paginator - * @param Request $request - * @return Response - */ + #[Route(path: '/admin/entrada', name: 'admin_entrada_index')] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_ESCRITOR')] public function index( EntradaRepository $entradaRepository, PaginatorInterface $paginator, @@ -74,8 +53,8 @@ public function index( $entradas = $paginator->paginate( $entrada, /* query NOT result */ - $request->query->getInt('page', 1)/*page number*/, - 20/*limit per page*/ + $request->query->getInt('page', 1)/* page number */, + 20/* limit per page */ ); return $this->render('admin/entrada/list.html.twig', [ @@ -84,26 +63,21 @@ public function index( } /** - * @Route("/admin/entrada/publicadas", name="admin_entrada_publicadas") - * @IsGranted("ROLE_ESCRITOR") - * @param EntradaRepository $entradaRepository - * @param PaginatorInterface $paginator - * @param Request $request - * @return Response * @throws QueryException */ + #[Route(path: '/admin/entrada/publicadas', name: 'admin_entrada_publicadas')] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_ESCRITOR')] public function listadoPublicado( EntradaRepository $entradaRepository, PaginatorInterface $paginator, Request $request ): Response { - $this->isGranted('ROLE_EDITOR') ? $user = $this->getUser() : $user = null; $entrada = $entradaRepository->findAllPublicadosOrderedByPublicacionQuery($user); $entradas = $paginator->paginate( $entrada, /* query NOT result */ - $request->query->getInt('page', 1)/*page number*/, - 20/*limit per page*/ + $request->query->getInt('page', 1)/* page number */, + 20/* limit per page */ ); return $this->render('admin/entrada/list.html.twig', [ @@ -112,15 +86,12 @@ public function listadoPublicado( } /** - * @param Request $request - * @param Entrada $entrada - * @param UploaderHelper $uploaderHelper - * @param ObtenerDatosHelper $datosHelper * @return RedirectResponse - * @throws Exception - * @Route("/admin/entrada/{id}/edit", name="admin_entrada_edit") - * @IsGranted("MANAGE", subject="entrada") + * + * @throws \Exception */ + #[Route(path: '/admin/entrada/{id}/edit', name: 'admin_entrada_edit')] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('MANAGE', subject: 'entrada')] public function edit( Request $request, Entrada $entrada, @@ -157,19 +128,18 @@ public function edit( return $this->render('admin/entrada/edit.html.twig', [ 'entrada' => $entrada, - 'entradaForm' => $form->createView(), + 'entradaForm' => $form, 'ip' => $ip, ]); } /** - * @param Request $request - * @param Entrada $entrada * @return RedirectResponse - * @throws Exception - * @Route("/admin/entrada/{id}/edit-complex", name="admin_entrada_edit_complex") - * @IsGranted("MANAGE", subject="entrada") + * + * @throws \Exception */ + #[Route(path: '/admin/entrada/{id}/edit-complex', name: 'admin_entrada_edit_complex')] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('MANAGE', subject: 'entrada')] public function editComplex(Request $request, Entrada $entrada): Response { $form = $this->createForm(EntradaComplexType::class, $entrada); @@ -184,26 +154,23 @@ public function editComplex(Request $request, Entrada $entrada): Response return $this->render('admin/entrada/edit_contenido.html.twig', [ 'entrada' => $entrada, - 'entradaForm' => $form->createView(), + 'entradaForm' => $form, ]); } /** - * @Route("/admin/entrada/new", name="admin_entrada_new") - * @IsGranted("ROLE_ESCRITOR") - * - * @param EntityManagerInterface $em - * @param Request $request - * @param UploaderHelper $uploaderHelper * @return RedirectResponse|Response - * @throws Exception + * + * @throws \Exception */ + #[Route(path: '/admin/entrada/new', name: 'admin_entrada_new')] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_ESCRITOR')] public function new(EntityManagerInterface $em, Request $request, UploaderHelper $uploaderHelper) { $entrada = new Entrada(); $user = $this->getUser(); $entrada->setAutor($user); - if($request->get('section')){ + if ($request->get('section')) { $entrada->addSection($this->container->get('doctrine')->getRepository(Section::class)->find($request->get('section'))); } @@ -248,18 +215,16 @@ public function new(EntityManagerInterface $em, Request $request, UploaderHelper } return $this->render('admin/entrada/new.html.twig', [ - 'entradaForm' => $form->createView(), + 'entradaForm' => $form, 'entrada' => $entrada, ]); } /** - * @Route("/admin/new/step1", name="admin_entrada_new_step1", methods={"GET","POST"}) - * @param Request $request - * @return Response - * @throws Exception - * @IsGranted("ROLE_ESCRITOR") + * @throws \Exception */ + #[Route(path: '/admin/new/step1', name: 'admin_entrada_new_step1', methods: ['GET', 'POST'])] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_ESCRITOR')] public function newStepOne(Request $request, ModelTemplateRepository $modelTemplateRepository): Response { $entrada = new Entrada(); @@ -269,9 +234,8 @@ public function newStepOne(Request $request, ModelTemplateRepository $modelTempl if ($form->isSubmitted() && $form->isValid()) { $section = $form['section']->getData(); $entrada->addSection($section); - if($session_template = $this->container->get('session')->get('model_template_id')) - { - if($modelTemplate = $modelTemplateRepository->find($session_template)){ + if ($session_template = $this->container->get('session')->get('model_template_id')) { + if ($modelTemplate = $modelTemplateRepository->find($session_template)) { $entrada->setModelTemplate($modelTemplate); } } @@ -283,21 +247,14 @@ public function newStepOne(Request $request, ModelTemplateRepository $modelTempl ]); } - - return $this->render('admin/entrada/new_step1.html.twig', [ 'entrada' => $entrada, - 'entradaForm' => $form->createView(), + 'entradaForm' => $form, ]); } - /** - * @Route("/admin/new/step2/{id}", name="admin_entrada_new_step2", methods={"GET","POST"}) - * @param Request $request - * @param Entrada $entrada - * @return Response - * @IsGranted("ROLE_ADMIN") - */ + #[Route(path: '/admin/new/step2/{id}', name: 'admin_entrada_new_step2', methods: ['GET', 'POST'])] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_ADMIN')] public function newStepTwo(Request $request, Entrada $entrada, PrincipalRepository $principalRepository): Response { $form = $this->createForm(StepTwoType::class, $entrada); @@ -306,7 +263,6 @@ public function newStepTwo(Request $request, Entrada $entrada, PrincipalReposito $linkRoutes = $principalRepository->getPrincipalSelect(); if ($form->isSubmitted() && $form->isValid()) { - $this->managerRegistry->getManager()->flush(); return $this->redirectToRoute('admin_entrada_new_step3', [ @@ -316,21 +272,18 @@ public function newStepTwo(Request $request, Entrada $entrada, PrincipalReposito return $this->render('admin/entrada/new_step2.html.twig', [ 'entrada' => $entrada, - 'entradaForm' => $form->createView(), - 'LinkRoutes' => $linkRoutes + 'entradaForm' => $form, + 'LinkRoutes' => $linkRoutes, ]); } /** - * @Route("/admin/new/step3/{id}", name="admin_entrada_new_step3", methods={"GET","POST"}) - * @param Request $request - * @return Response - * @throws Exception - * @IsGranted("ROLE_ESCRITOR") + * @throws \Exception */ + #[Route(path: '/admin/new/step3/{id}', name: 'admin_entrada_new_step3', methods: ['GET', 'POST'])] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_ESCRITOR')] public function newStepThree(Request $request, Entrada $entrada, PrincipalRepository $principalRepository): Response { - $form = $this->createForm(StepThreeType::class, $entrada); $form->handleRequest($request); @@ -347,16 +300,11 @@ public function newStepThree(Request $request, Entrada $entrada, PrincipalReposi return $this->render('admin/entrada/new_step3.html.twig', [ 'entrada' => $entrada, - 'entradaForm' => $form->createView(), + 'entradaForm' => $form, ]); } - /** - * @Route("/admin/entrada/{linkRoute}", name="entrada_admin_link") - * - * @param Entrada $entrada - * @return Response - */ + #[Route(path: '/admin/entrada/{linkRoute}', name: 'entrada_admin_link')] public function link(Entrada $entrada): Response { return $this->render('admin/entrada/link.html.twig', [ @@ -364,11 +312,7 @@ public function link(Entrada $entrada): Response ]); } - /** - * @Route("/admin/entrada/{id}/show", name="entrada_show", methods={"GET"}) - * @param Entrada $entrada - * @return Response - */ + #[Route(path: '/admin/entrada/{id}/show', name: 'entrada_show', methods: ['GET'])] public function show(Entrada $entrada): Response { return $this->render('admin/entrada/show.html.twig', [ @@ -376,27 +320,18 @@ public function show(Entrada $entrada): Response ]); } - /** - * @Route("/admin/entrada/{id}/delete", name="entrada_delete", methods={"DELETE", "POST"}) - * @param Request $request - * @param Entrada $entrada - * @return Response - */ + #[Route(path: '/admin/entrada/{id}/delete', name: 'entrada_delete', methods: ['DELETE', 'POST'])] public function delete(Request $request, Entrada $entrada): Response { $status = 'error'; $msg = 'No se puede borrar esta entrada. Comuníquese con el administrador'; if ($this->isCsrfTokenValid('delete'.$entrada->getId(), $request->request->get('_token'))) { - $msg = 'No cuenta con los permisos para borrar esta entrada. Comuníquese con el administrador'; if ($this->getUser() === $entrada->getAutor() or $this->isGranted('ROLE_EDITOR')) { - - { - foreach ($entrada->getPrincipals() as $principal) { - $entrada->removePrincipal($principal); - } + foreach ($entrada->getPrincipals() as $principal) { + $entrada->removePrincipal($principal); } foreach ($entrada->getSections() as $section) { @@ -431,10 +366,6 @@ public function delete(Request $request, Entrada $entrada): Response return $this->redirectToRoute('admin_entrada_index'); } - /** - * @param string $titulo - * @return string - */ private function limpiaLink(string $titulo): string { $link = strtolower(str_replace(' ', '-', trim($titulo))); @@ -443,10 +374,6 @@ private function limpiaLink(string $titulo): string return strtolower(str_replace('

', '', trim($link))); } - /** - * @param Principal|null $principal - * @return string|null - */ private function getLinkRoute(?Principal $principal): ?string { if (null === $principal) { @@ -456,11 +383,6 @@ private function getLinkRoute(?Principal $principal): ?string return $principal->getLinkRoute(); } - /** - * @param string|null $linkRoute - * @param PrincipalRepository $principalRepository - * @return Principal|null - */ private function getPrincipal(?string $linkRoute, PrincipalRepository $principalRepository): ?Principal { if (null === $linkRoute) { diff --git a/src/Controller/AdminExportController.php b/src/Controller/AdminExportController.php index 04713f62..4aed1570 100644 --- a/src/Controller/AdminExportController.php +++ b/src/Controller/AdminExportController.php @@ -13,24 +13,16 @@ use Symfony\Component\HttpFoundation\StreamedResponse; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/admin/export") - */ - +#[Route(path: '/admin/export')] class AdminExportController extends AbstractController { - const FILENAME = 'AlamedaCMS'; + final public const FILENAME = 'AlamedaCMS'; - /** - * @Route("/invitado/{id}", name="admin_export_invitado", methods={"GET", "POST"}) - * @param Celebracion $celebracion - * @param InvitadoRepository $invitadoRepository - * @return Response - */ + #[Route(path: '/invitado/{id}', name: 'admin_export_invitado', methods: ['GET', 'POST'])] public function index(Celebracion $celebracion, InvitadoRepository $invitadoRepository): Response { $dataColumns = $invitadoRepository->byCelebracionForExport($celebracion->getId()); - $nameColumns =[ + $nameColumns = [ 'ID', 'Presente?', 'Invitado ', @@ -41,12 +33,12 @@ public function index(Celebracion $celebracion, InvitadoRepository $invitadoRepo 'Enlace?', 'Invitó', ]; - $titulo = $celebracion->getNombre() . '-' . date_format($celebracion->getFechaCelebracionAt(), 'd/M'); + $titulo = $celebracion->getNombre().'-'.date_format($celebracion->getFechaCelebracionAt(), 'd/M'); $filename = self::FILENAME.'-'.trim($titulo).'.xlsx'; $spreadsheet = $this->createSpreadsheet($titulo, $nameColumns, $dataColumns); -// $contentType = 'text/csv'; -// $writer = new Csv($spreadsheet); + // $contentType = 'text/csv'; + // $writer = new Csv($spreadsheet); $contentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'; $writer = new Xlsx($spreadsheet); $response = new StreamedResponse(); @@ -55,9 +47,10 @@ public function index(Celebracion $celebracion, InvitadoRepository $invitadoRepo $response->setPrivate(); $response->headers->addCacheControlDirective('no-cache', true); $response->headers->addCacheControlDirective('must-revalidate', true); - $response->setCallback(function() use ($writer) { + $response->setCallback(function () use ($writer) { $writer->save('php://output'); }); + return $response; } @@ -84,10 +77,10 @@ protected function createSpreadsheet(string $titulo, array $nameColumns, array $ $i = 3; // Beginning row for active sheet foreach ($columnValues as $key => $columnValue) { $columnLetter = 'A'; - foreach($columnValue as $k => $v) { + foreach ($columnValue as $k => $v) { $sheet->setCellValue($columnLetter++.$i, $v); } - $i++; + ++$i; } // Autosize each column and set style to column titles @@ -101,7 +94,7 @@ protected function createSpreadsheet(string $titulo, array $nameColumns, array $ $sheet->getStyle($columnLetter.'2')->getFont()->setBold(true); // Autosize column $sheet->getColumnDimension($columnLetter)->setAutoSize(true); - $columnLetter++; + ++$columnLetter; } return $spreadsheet; @@ -111,5 +104,4 @@ protected function loadFile($filename) { return IOFactory::load($filename); } - } diff --git a/src/Controller/AdminUtilityController.php b/src/Controller/AdminUtilityController.php index 3ce14446..e03ff749 100644 --- a/src/Controller/AdminUtilityController.php +++ b/src/Controller/AdminUtilityController.php @@ -1,11 +1,8 @@ query->get('role'))?'ROLE_NADA' : $request->query->get('role') ; + $role = empty($request->query->get('role')) ? 'ROLE_NADA' : $request->query->get('role'); $query = $request->query->get('query'); - $user = $userRepository->findAllEmailsRoleAlfa($role, $query); + $user = $userRepository->findAllEmailsRoleAlfa($query, $role); - - return $this->json(['users'=>$user], 200, [], [ + return $this->json(['users' => $user], 200, [], [ 'groups' => ['perfil'], ]); } - /** - * @Route("/admin/list/user", methods={"GET"}, name="admin_list_user") - * @param UserRepository $userRepository - * @return Response - */ + #[Route(path: '/admin/list/user', methods: ['GET'], name: 'admin_list_user')] public function usersList(UserRepository $userRepository): Response { return $this->render('admin/users.html.twig', [ - 'users' => $userRepository->findBy([],['primerNombre'=>'ASC']), + 'users' => $userRepository->findBy([], ['primerNombre' => 'ASC']), ]); } - - -} \ No newline at end of file +} diff --git a/src/Controller/AlamedaController.php b/src/Controller/AlamedaController.php index 41a6ff7f..57027f5c 100644 --- a/src/Controller/AlamedaController.php +++ b/src/Controller/AlamedaController.php @@ -6,27 +6,20 @@ use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/alameda") - */ +#[Route(path: '/alameda')] class AlamedaController extends AbstractController { - /** - * @Route("/{name}", name="alameda_name") - * @param string $name - * @return Response - */ - public function routeLink(string $name) + #[Route(path: '/{name}', name: 'alameda_name')] + public function routeLink(string $name): Response { $ruta = $name.'.html.twig'; + return $this->render('alameda/'.$ruta, [ ]); } - /** - * @Route("/", name="alameda") - */ - public function index() + #[Route(path: '/', name: 'alameda')] + public function index(): Response { return $this->render('alameda/index.html.twig', [ 'controller_name' => 'AlamedaController', diff --git a/src/Controller/BaseController.php b/src/Controller/BaseController.php index b70faf83..ff3541ff 100755 --- a/src/Controller/BaseController.php +++ b/src/Controller/BaseController.php @@ -10,4 +10,4 @@ */ abstract class BaseController extends AbstractController { -} \ No newline at end of file +} diff --git a/src/Controller/BlocsFixesController.php b/src/Controller/BlocsFixesController.php index deadb1d1..f431a125 100644 --- a/src/Controller/BlocsFixesController.php +++ b/src/Controller/BlocsFixesController.php @@ -10,26 +10,21 @@ use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/admin/blocsfixes") - */ +#[Route(path: '/admin/blocsfixes')] class BlocsFixesController extends AbstractController { - /** - * @Route("/", name="app_blocs_fixes_index", methods={"GET"}) - */ + #[Route(path: '/', name: 'app_blocs_fixes_index', methods: ['GET'])] public function index(BlocsFixesRepository $blocsFixesRepository, Request $request): Response { $bus = $request->get('busq'); $blocs_fixes = $blocsFixesRepository->queryAllBlocsFixes($bus)->getQuery()->getResult(); + return $this->render('admin/blocs_fixes/index.html.twig', [ 'blocs_fixes' => $blocs_fixes, ]); } - /** - * @Route("/new", name="app_blocs_fixes_new", methods={"GET", "POST"}) - */ + #[Route(path: '/new', name: 'app_blocs_fixes_new', methods: ['GET', 'POST'])] public function new(Request $request, BlocsFixesRepository $blocsFixesRepository): Response { $blocsFix = new BlocsFixes(); @@ -38,18 +33,17 @@ public function new(Request $request, BlocsFixesRepository $blocsFixesRepository if ($form->isSubmitted() && $form->isValid()) { $blocsFixesRepository->add($blocsFix); + return $this->redirectToRoute('app_blocs_fixes_index', [], Response::HTTP_SEE_OTHER); } - return $this->renderForm('admin/blocs_fixes/new.html.twig', [ + return $this->render('admin/blocs_fixes/new.html.twig', [ 'blocs_fix' => $blocsFix, 'form' => $form, ]); } - /** - * @Route("/{id}", name="app_blocs_fixes_show", methods={"GET"}) - */ + #[Route(path: '/{id}', name: 'app_blocs_fixes_show', methods: ['GET'])] public function show(BlocsFixes $blocsFix): Response { return $this->render('admin/blocs_fixes/show.html.twig', [ @@ -57,9 +51,7 @@ public function show(BlocsFixes $blocsFix): Response ]); } - /** - * @Route("/{id}/edit", name="app_blocs_fixes_edit", methods={"GET", "POST"}) - */ + #[Route(path: '/{id}/edit', name: 'app_blocs_fixes_edit', methods: ['GET', 'POST'])] public function edit(Request $request, BlocsFixes $blocsFix, BlocsFixesRepository $blocsFixesRepository): Response { $form = $this->createForm(BlocsFixesType::class, $blocsFix); @@ -67,18 +59,17 @@ public function edit(Request $request, BlocsFixes $blocsFix, BlocsFixesRepositor if ($form->isSubmitted() && $form->isValid()) { $blocsFixesRepository->add($blocsFix); + return $this->redirectToRoute('app_blocs_fixes_index', [], Response::HTTP_SEE_OTHER); } - return $this->renderForm('admin/blocs_fixes/edit.html.twig', [ + return $this->render('admin/blocs_fixes/edit.html.twig', [ 'blocs_fix' => $blocsFix, 'form' => $form, ]); } - /** - * @Route("/{id}", name="app_blocs_fixes_delete", methods={"POST"}) - */ + #[Route(path: '/{id}', name: 'app_blocs_fixes_delete', methods: ['POST'])] public function delete(Request $request, BlocsFixes $blocsFix, BlocsFixesRepository $blocsFixesRepository): Response { if ($this->isCsrfTokenValid('delete'.$blocsFix->getId(), $request->request->get('_token'))) { diff --git a/src/Controller/BroteController.php b/src/Controller/BroteController.php deleted file mode 100644 index 2f395837..00000000 --- a/src/Controller/BroteController.php +++ /dev/null @@ -1,106 +0,0 @@ -render('derivada/index.html.twig', [ - 'derivadas' => $derivadaRepository->findAll(), - ]); - } - - /** - * @Route("/new", name="derivada_new", methods={"GET","POST"}) - * @param Request $request - * @return Response - */ - public function new(Request $request): Response - { - $derivada = new Brote(); - $form = $this->createForm(BroteType::class, $derivada); - $form->handleRequest($request); - - if ($form->isSubmitted() && $form->isValid()) { - $entityManager = $this->getDoctrine()->getManager(); - $entityManager->persist($derivada); - $entityManager->flush(); - - return $this->redirectToRoute('derivada_index'); - } - - return $this->render('derivada/new.html.twig', [ - 'derivada' => $derivada, - 'form' => $form->createView(), - ]); - } - - /** - * @Route("/{id}", name="derivada_show", methods={"GET"}) - * @param Brote $derivada - * @return Response - */ - public function show(Brote $derivada): Response - { - return $this->render('derivada/show.html.twig', [ - 'derivada' => $derivada, - ]); - } - - /** - * @Route("/{id}/edit", name="derivada_edit", methods={"GET","POST"}) - * @param Request $request - * @param Brote $derivada - * @return Response - */ - public function edit(Request $request, Brote $derivada): Response - { - $form = $this->createForm(BroteType::class, $derivada); - $form->handleRequest($request); - - if ($form->isSubmitted() && $form->isValid()) { - $this->getDoctrine()->getManager()->flush(); - - return $this->redirectToRoute('derivada_index'); - } - - return $this->render('derivada/edit.html.twig', [ - 'derivada' => $derivada, - 'form' => $form->createView(), - ]); - } - - /** - * @Route("/{id}", name="derivada_delete", methods={"DELETE"}) - * @param Request $request - * @param Brote $derivada - * @return Response - */ - public function delete(Request $request, Brote $derivada): Response - { - if ($this->isCsrfTokenValid('delete'.$derivada->getId(), $request->request->get('_token'))) { - $entityManager = $this->getDoctrine()->getManager(); - $entityManager->remove($derivada); - $entityManager->flush(); - } - - return $this->redirectToRoute('derivada_index'); - } -} diff --git a/src/Controller/ButtonLinkController.php b/src/Controller/ButtonLinkController.php index 6fee083d..ec01e238 100644 --- a/src/Controller/ButtonLinkController.php +++ b/src/Controller/ButtonLinkController.php @@ -5,21 +5,16 @@ use App\Entity\ButtonLink; use App\Form\ButtonLinkType; use App\Repository\ButtonLinkRepository; +use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/admin/buttonlink") - */ +#[Route(path: '/admin/buttonlink')] class ButtonLinkController extends AbstractController { - /** - * @Route("/", name="button_link_index", methods={"GET"}) - * @param ButtonLinkRepository $buttonLinkRepository - * @return Response - */ + #[Route(path: '/', name: 'button_link_index', methods: ['GET'])] public function index(ButtonLinkRepository $buttonLinkRepository): Response { return $this->render('button_link/index.html.twig', [ @@ -27,19 +22,14 @@ public function index(ButtonLinkRepository $buttonLinkRepository): Response ]); } - /** - * @Route("/new", name="button_link_new", methods={"GET","POST"}) - * @param Request $request - * @return Response - */ - public function new(Request $request): Response + #[Route(path: '/new', name: 'button_link_new', methods: ['GET', 'POST'])] + public function new(Request $request, EntityManagerInterface $entityManager): Response { $buttonLink = new ButtonLink(); $form = $this->createForm(ButtonLinkType::class, $buttonLink); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($buttonLink); $entityManager->flush(); @@ -48,15 +38,11 @@ public function new(Request $request): Response return $this->render('button_link/new.html.twig', [ 'button_link' => $buttonLink, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="button_link_show", methods={"GET"}) - * @param ButtonLink $buttonLink - * @return Response - */ + #[Route(path: '/{id}', name: 'button_link_show', methods: ['GET'])] public function show(ButtonLink $buttonLink): Response { return $this->render('button_link/show.html.twig', [ @@ -64,39 +50,28 @@ public function show(ButtonLink $buttonLink): Response ]); } - /** - * @Route("/{id}/edit", name="button_link_edit", methods={"GET","POST"}) - * @param Request $request - * @param ButtonLink $buttonLink - * @return Response - */ - public function edit(Request $request, ButtonLink $buttonLink): Response + #[Route(path: '/{id}/edit', name: 'button_link_edit', methods: ['GET', 'POST'])] + public function edit(Request $request, ButtonLink $buttonLink, EntityManagerInterface $entityManager): Response { $form = $this->createForm(ButtonLinkType::class, $buttonLink); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $this->getDoctrine()->getManager()->flush(); + $entityManager->flush(); return $this->redirectToRoute('button_link_index'); } return $this->render('button_link/edit.html.twig', [ 'button_link' => $buttonLink, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="button_link_delete", methods={"DELETE"}) - * @param Request $request - * @param ButtonLink $buttonLink - * @return Response - */ - public function delete(Request $request, ButtonLink $buttonLink): Response + #[Route(path: '/{id}', name: 'button_link_delete', methods: ['DELETE'])] + public function delete(Request $request, ButtonLink $buttonLink, EntityManagerInterface $entityManager): Response { if ($this->isCsrfTokenValid('delete'.$buttonLink->getId(), $request->request->get('_token'))) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->remove($buttonLink); $entityManager->flush(); } diff --git a/src/Controller/CelebracionController.php b/src/Controller/CelebracionController.php index 7916d8e0..f107a6ba 100644 --- a/src/Controller/CelebracionController.php +++ b/src/Controller/CelebracionController.php @@ -8,25 +8,17 @@ use App\Repository\CelebracionRepository; use App\Repository\GroupCelebrationRepository; use Doctrine\ORM\EntityManagerInterface; -use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -use DateTime; -/** - * @Route("/admin/celebracion") - * @IsGranted("ROLE_RESERVA") - */ +#[Route(path: '/admin/celebracion')] +#[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_RESERVA')] class CelebracionController extends AbstractController { - /** - * @Route("/", name="celebracion_index", methods={"GET"}) - * @param CelebracionRepository $celebracionRepository - * @return Response - */ + #[Route(path: '/', name: 'celebracion_index', methods: ['GET'])] public function index(CelebracionRepository $celebracionRepository): Response { return $this->render('celebracion/index.html.twig', [ @@ -34,12 +26,8 @@ public function index(CelebracionRepository $celebracionRepository): Response ]); } - /** - * @Route("/new", name="celebracion_new", methods={"GET","POST"}) - * @param Request $request - * @return Response - */ - public function new(Request $request): Response + #[Route(path: '/new', name: 'celebracion_new', methods: ['GET', 'POST'])] + public function new(Request $request, EntityManagerInterface $entityManager): Response { $celebracion = new Celebracion(); $form = $this->createForm(CelebracionType::class, $celebracion); @@ -47,18 +35,17 @@ public function new(Request $request): Response if ($form->isSubmitted() && $form->isValid()) { $user = $this->getUser(); - $ahora = new DateTime('now'); + $ahora = new \DateTime('now'); $hasta = $form['disponibleHastaAt']->getData(); $celebracion->setDisponibleHastaAt($ahora->modify('+1 hour')); - if ($hasta){ + if ($hasta) { $celebracion->setDisponibleHastaAt($hasta); } $celebracion->setCreaEvento($user); $celebracion->setCreatedAt($ahora); $celebracion->setUpdatedAt($ahora); - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($celebracion); $entityManager->flush(); @@ -67,15 +54,11 @@ public function new(Request $request): Response return $this->render('celebracion/new.html.twig', [ 'celebracion' => $celebracion, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="celebracion_show", methods={"GET"}) - * @param Celebracion $celebracion - * @return Response - */ + #[Route(path: '/{id}', name: 'celebracion_show', methods: ['GET'])] public function show(Celebracion $celebracion): Response { return $this->render('celebracion/show.html.twig', [ @@ -83,39 +66,28 @@ public function show(Celebracion $celebracion): Response ]); } - /** - * @Route("/{id}/edit", name="celebracion_edit", methods={"GET","POST"}) - * @param Request $request - * @param Celebracion $celebracion - * @return Response - */ - public function edit(Request $request, Celebracion $celebracion): Response + #[Route(path: '/{id}/edit', name: 'celebracion_edit', methods: ['GET', 'POST'])] + public function edit(Request $request, Celebracion $celebracion, EntityManagerInterface $entityManager): Response { $form = $this->createForm(CelebracionType::class, $celebracion); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $this->getDoctrine()->getManager()->flush(); + $entityManager->flush(); return $this->redirectToRoute('celebracion_index'); } return $this->render('celebracion/edit.html.twig', [ 'celebracion' => $celebracion, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="celebracion_delete", methods={"DELETE"}) - * @param Request $request - * @param Celebracion $celebracion - * @return Response - */ - public function delete(Request $request, Celebracion $celebracion): Response + #[Route(path: '/{id}', name: 'celebracion_delete', methods: ['DELETE'])] + public function delete(Request $request, Celebracion $celebracion, EntityManagerInterface $entityManager): Response { if ($this->isCsrfTokenValid('delete'.$celebracion->getId(), $request->request->get('_token'))) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->remove($celebracion); $entityManager->flush(); } @@ -124,20 +96,15 @@ public function delete(Request $request, Celebracion $celebracion): Response } /** - * @Route("/agregarGrupo/{id}", name="celebracion_agregar_grupo", methods={"GET", "POST"}) - * @param Request $request - * @param Celebracion $celebracion - * @param EntityManagerInterface $em - * @param GroupCelebrationRepository $groupCelebrationRepository * @return RedirectResponse|Response */ + #[Route(path: '/agregarGrupo/{id}', name: 'celebracion_agregar_grupo', methods: ['GET', 'POST'])] public function agregarGrupo(Request $request, Celebracion $celebracion, EntityManagerInterface $em, GroupCelebrationRepository $groupCelebrationRepository) { $form = $this->createForm(GroupCelebrationAddType::class); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $id_grupo = $form->get('groupCelebration')->getData(); $grupo = $groupCelebrationRepository->find($id_grupo); $celebracion->addGroupCelebration($grupo); @@ -145,14 +112,12 @@ public function agregarGrupo(Request $request, Celebracion $celebracion, EntityM $em->flush(); return $this->redirectToRoute('celebracion_index', [ - ]); } return $this->render('group_celebration/vistaAgregaGrupo.html.twig', [ 'celebracion' => $celebracion, - 'form' => $form->createView(), + 'form' => $form, ]); - } } diff --git a/src/Controller/ChannelFeedController.php b/src/Controller/ChannelFeedController.php index ca8afa8e..ba574c04 100644 --- a/src/Controller/ChannelFeedController.php +++ b/src/Controller/ChannelFeedController.php @@ -5,19 +5,16 @@ use App\Entity\ChannelFeed; use App\Form\ChannelFeedType; use App\Repository\ChannelFeedRepository; +use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/admin/channelfeed") - */ +#[Route(path: '/admin/channelfeed')] class ChannelFeedController extends AbstractController { - /** - * @Route("/", name="channel_feed_index", methods={"GET"}) - */ + #[Route(path: '/', name: 'channel_feed_index', methods: ['GET'])] public function index(ChannelFeedRepository $channelFeedRepository): Response { return $this->render('channel_feed/index.html.twig', [ @@ -25,17 +22,14 @@ public function index(ChannelFeedRepository $channelFeedRepository): Response ]); } - /** - * @Route("/new", name="channel_feed_new", methods={"GET","POST"}) - */ - public function new(Request $request): Response + #[Route(path: '/new', name: 'channel_feed_new', methods: ['GET', 'POST'])] + public function new(Request $request, EntityManagerInterface $entityManager): Response { $channelFeed = new ChannelFeed(); $form = $this->createForm(ChannelFeedType::class, $channelFeed); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($channelFeed); $entityManager->flush(); @@ -44,13 +38,11 @@ public function new(Request $request): Response return $this->render('channel_feed/new.html.twig', [ 'channel_feed' => $channelFeed, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="channel_feed_show", methods={"GET"}) - */ + #[Route(path: '/{id}', name: 'channel_feed_show', methods: ['GET'])] public function show(ChannelFeed $channelFeed): Response { return $this->render('channel_feed/show.html.twig', [ @@ -58,33 +50,28 @@ public function show(ChannelFeed $channelFeed): Response ]); } - /** - * @Route("/{id}/edit", name="channel_feed_edit", methods={"GET","POST"}) - */ - public function edit(Request $request, ChannelFeed $channelFeed): Response + #[Route(path: '/{id}/edit', name: 'channel_feed_edit', methods: ['GET', 'POST'])] + public function edit(Request $request, ChannelFeed $channelFeed, EntityManagerInterface $entityManager): Response { $form = $this->createForm(ChannelFeedType::class, $channelFeed); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $this->getDoctrine()->getManager()->flush(); + $entityManager->flush(); return $this->redirectToRoute('channel_feed_index'); } return $this->render('channel_feed/edit.html.twig', [ 'channel_feed' => $channelFeed, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="channel_feed_delete", methods={"DELETE"}) - */ - public function delete(Request $request, ChannelFeed $channelFeed): Response + #[Route(path: '/{id}', name: 'channel_feed_delete', methods: ['DELETE'])] + public function delete(Request $request, ChannelFeed $channelFeed, EntityManagerInterface $entityManager): Response { if ($this->isCsrfTokenValid('delete'.$channelFeed->getId(), $request->request->get('_token'))) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->remove($channelFeed); $entityManager->flush(); } diff --git a/src/Controller/ComentarioController.php b/src/Controller/ComentarioController.php index 656701c9..ceecf478 100644 --- a/src/Controller/ComentarioController.php +++ b/src/Controller/ComentarioController.php @@ -4,29 +4,23 @@ use App\Entity\Comentario; use App\Form\ComentarioType; -use App\Repository\ComentarioRepository; +use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/admin/comentario") - */ +#[Route(path: '/admin/comentario')] class ComentarioController extends AbstractController { - - /** - * @Route("/new", name="comentario_new", methods={"GET","POST"}) - */ - public function new(Request $request): Response + #[Route(path: '/new', name: 'comentario_new', methods: ['GET', 'POST'])] + public function new(Request $request, EntityManagerInterface $entityManager): Response { $comentario = new Comentario(); $form = $this->createForm(ComentarioType::class, $comentario); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($comentario); $entityManager->flush(); @@ -35,13 +29,11 @@ public function new(Request $request): Response return $this->render('comentario/new.html.twig', [ 'comentario' => $comentario, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="comentario_show", methods={"GET"}) - */ + #[Route(path: '/{id}', name: 'comentario_show', methods: ['GET'])] public function show(Comentario $comentario): Response { return $this->render('comentario/show.html.twig', [ @@ -49,33 +41,28 @@ public function show(Comentario $comentario): Response ]); } - /** - * @Route("/{id}/edit", name="comentario_edit", methods={"GET","POST"}) - */ - public function edit(Request $request, Comentario $comentario): Response + #[Route(path: '/{id}/edit', name: 'comentario_edit', methods: ['GET', 'POST'])] + public function edit(Request $request, Comentario $comentario, EntityManagerInterface $entityManager): Response { $form = $this->createForm(ComentarioType::class, $comentario); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $this->getDoctrine()->getManager()->flush(); + $entityManager->flush(); return $this->redirectToRoute('admin_comentarios'); } return $this->render('comentario/edit.html.twig', [ 'comentario' => $comentario, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="comentario_delete", methods={"DELETE"}) - */ - public function delete(Request $request, Comentario $comentario): Response + #[Route(path: '/{id}', name: 'comentario_delete', methods: ['DELETE'])] + public function delete(Request $request, Comentario $comentario, EntityManagerInterface $entityManager): Response { if ($this->isCsrfTokenValid('delete'.$comentario->getId(), $request->request->get('_token'))) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->remove($comentario); $entityManager->flush(); } diff --git a/src/Controller/ConfigController.php b/src/Controller/ConfigController.php index af1bc408..729cea2a 100755 --- a/src/Controller/ConfigController.php +++ b/src/Controller/ConfigController.php @@ -7,10 +7,8 @@ class ConfigController extends AbstractController { - /** - * @Route("/config", name="config") - */ - public function index() + #[Route(path: '/config', name: 'config')] + public function index(): \Symfony\Component\HttpFoundation\Response { return $this->render('config/index.html.twig', [ 'controller_name' => 'ConfigController', diff --git a/src/Controller/ContactoController.php b/src/Controller/ContactoController.php index ca6a57fd..ddc72b5c 100644 --- a/src/Controller/ContactoController.php +++ b/src/Controller/ContactoController.php @@ -5,21 +5,16 @@ use App\Entity\Contacto; use App\Form\ContactoType; use App\Repository\ContactoRepository; +use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/admin/contacto") - */ +#[Route(path: '/admin/contacto')] class ContactoController extends AbstractController { - /** - * @Route("/", name="contacto_index", methods={"GET"}) - * @param ContactoRepository $contactoRepository - * @return Response - */ + #[Route(path: '/', name: 'contacto_index', methods: ['GET'])] public function index(ContactoRepository $contactoRepository): Response { return $this->render('contacto/list.html.twig', [ @@ -27,19 +22,14 @@ public function index(ContactoRepository $contactoRepository): Response ]); } - /** - * @Route("/new", name="contacto_new", methods={"GET","POST"}) - * @param Request $request - * @return Response - */ - public function new(Request $request): Response + #[Route(path: '/new', name: 'contacto_new', methods: ['GET', 'POST'])] + public function new(Request $request, EntityManagerInterface $entityManager): Response { $contacto = new Contacto(); $form = $this->createForm(ContactoType::class, $contacto); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($contacto); $entityManager->flush(); @@ -48,15 +38,11 @@ public function new(Request $request): Response return $this->render('contacto/new.html.twig', [ 'contacto' => $contacto, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="contacto_show", methods={"GET"}) - * @param Contacto $contacto - * @return Response - */ + #[Route(path: '/{id}', name: 'contacto_show', methods: ['GET'])] public function show(Contacto $contacto): Response { return $this->render('contacto/show.html.twig', [ @@ -64,39 +50,28 @@ public function show(Contacto $contacto): Response ]); } - /** - * @Route("/{id}/edit", name="contacto_edit", methods={"GET","POST"}) - * @param Request $request - * @param Contacto $contacto - * @return Response - */ - public function edit(Request $request, Contacto $contacto): Response + #[Route(path: '/{id}/edit', name: 'contacto_edit', methods: ['GET', 'POST'])] + public function edit(Request $request, Contacto $contacto, EntityManagerInterface $entityManager): Response { $form = $this->createForm(ContactoType::class, $contacto); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $this->getDoctrine()->getManager()->flush(); + $entityManager->flush(); return $this->redirectToRoute('contacto_index'); } return $this->render('contacto/edit.html.twig', [ 'contacto' => $contacto, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="contacto_delete", methods={"DELETE"}) - * @param Request $request - * @param Contacto $contacto - * @return Response - */ - public function delete(Request $request, Contacto $contacto): Response + #[Route(path: '/{id}', name: 'contacto_delete', methods: ['DELETE'])] + public function delete(Request $request, Contacto $contacto, EntityManagerInterface $entityManager): Response { if ($this->isCsrfTokenValid('delete'.$contacto->getId(), $request->request->get('_token'))) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->remove($contacto); $entityManager->flush(); } diff --git a/src/Controller/DefaultController.php b/src/Controller/DefaultController.php index 4d4d5cd3..1d8bfbc5 100755 --- a/src/Controller/DefaultController.php +++ b/src/Controller/DefaultController.php @@ -7,10 +7,8 @@ class DefaultController extends AbstractController { - /** - * @Route("/default", name="default") - */ - public function index() + #[Route(path: '/default', name: 'default')] + public function index(): \Symfony\Component\HttpFoundation\Response { return $this->render('default/index.html.twig', [ 'controller_name' => 'DefaultController', diff --git a/src/Controller/EnlaceCortoController.php b/src/Controller/EnlaceCortoController.php index efbf0810..0ae806d3 100644 --- a/src/Controller/EnlaceCortoController.php +++ b/src/Controller/EnlaceCortoController.php @@ -5,20 +5,17 @@ use App\Entity\EnlaceCorto; use App\Form\EnlaceCortoType; use App\Repository\EnlaceCortoRepository; +use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/admin/enlaces") - */ +#[Route(path: '/admin/enlaces')] class EnlaceCortoController extends AbstractController { - /** - * @Route("/", name="enlace_corto_index", methods={"GET"}) - */ + #[Route(path: '/', name: 'enlace_corto_index', methods: ['GET'])] public function index(EnlaceCortoRepository $enlaceCortoRepository): Response { return $this->render('enlace_corto/index.html.twig', [ @@ -26,17 +23,14 @@ public function index(EnlaceCortoRepository $enlaceCortoRepository): Response ]); } - /** - * @Route("/new", name="enlace_corto_new", methods={"GET","POST"}) - */ - public function new(Request $request): Response + #[Route(path: '/new', name: 'enlace_corto_new', methods: ['GET', 'POST'])] + public function new(Request $request, EntityManagerInterface $entityManager): Response { $enlaceCorto = new EnlaceCorto(); $form = $this->createForm(EnlaceCortoType::class, $enlaceCorto); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($enlaceCorto); $entityManager->flush(); @@ -45,21 +39,17 @@ public function new(Request $request): Response return $this->render('enlace_corto/new.html.twig', [ 'enlace_corto' => $enlaceCorto, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{linkRoute}", name="enlace_corto_acceso", methods={"GET"}) - */ + #[Route(path: '/{linkRoute}', name: 'enlace_corto_acceso', methods: ['GET'])] public function acceso(EnlaceCorto $enlaceCorto): Response { return $this->redirect($enlaceCorto->getUrlDestino()); } - /** - * @Route("/{linkRoute}/vista", name="enlace_corto_show", methods={"GET"}) - */ + #[Route(path: '/{linkRoute}/vista', name: 'enlace_corto_show', methods: ['GET'])] public function show(EnlaceCorto $enlaceCorto): Response { return $this->render('enlace_corto/show.html.twig', [ @@ -67,33 +57,28 @@ public function show(EnlaceCorto $enlaceCorto): Response ]); } - /** - * @Route("/{id}/edit", name="enlace_corto_edit", methods={"GET","POST"}) - */ - public function edit(Request $request, EnlaceCorto $enlaceCorto): Response + #[Route(path: '/{id}/edit', name: 'enlace_corto_edit', methods: ['GET', 'POST'])] + public function edit(Request $request, EnlaceCorto $enlaceCorto, EntityManagerInterface $entityManager): Response { $form = $this->createForm(EnlaceCortoType::class, $enlaceCorto); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $this->getDoctrine()->getManager()->flush(); + $entityManager->flush(); return $this->redirectToRoute('enlace_corto_index'); } return $this->render('enlace_corto/edit.html.twig', [ 'enlace_corto' => $enlaceCorto, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="enlace_corto_delete", methods={"DELETE"}) - */ - public function delete(Request $request, EnlaceCorto $enlaceCorto): Response + #[Route(path: '/{id}', name: 'enlace_corto_delete', methods: ['DELETE'])] + public function delete(Request $request, EnlaceCorto $enlaceCorto, EntityManagerInterface $entityManager): Response { if ($this->isCsrfTokenValid('delete'.$enlaceCorto->getId(), $request->request->get('_token'))) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->remove($enlaceCorto); $entityManager->flush(); } @@ -101,12 +86,7 @@ public function delete(Request $request, EnlaceCorto $enlaceCorto): Response return $this->redirectToRoute('enlace_corto_index'); } - /** - * @Route("/{enlace}", name="enlace_corto_pagina", methods={"GET"}) - * @param string $enlace - * @return RedirectResponse - */ - + #[Route(path: '/{enlace}', name: 'enlace_corto_pagina', methods: ['GET'])] public function irEnlace(string $enlace): RedirectResponse { return $this->redirect( diff --git a/src/Controller/EntradaController.php b/src/Controller/EntradaController.php index 0000fc84..c1f02fe1 100755 --- a/src/Controller/EntradaController.php +++ b/src/Controller/EntradaController.php @@ -14,19 +14,10 @@ use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/entrada") - */ +#[Route(path: '/entrada')] class EntradaController extends AbstractController { - - /** - * @Route("/{linkRoute}", name="entrada_ver", methods={"GET"}) - * - * @param Entrada $entrada - * @param EntradaRepository $er - * @return Response - */ + #[Route(path: '/{linkRoute}', name: 'entrada_ver', methods: ['GET'])] public function ver(Entrada $entrada, EntradaRepository $er): Response { $entrada = $er->findOneBy(['linkRoute' => $entrada->getLinkRoute()]); @@ -39,14 +30,7 @@ public function ver(Entrada $entrada, EntradaRepository $er): Response ]); } - - /** - * @Route("/count/{id}/like", name="entrada_toggle_like", methods={"POST"}) - * - * @param Entrada $entrada - * @param EntityManagerInterface $em - * @return JsonResponse - */ + #[Route(path: '/count/{id}/like', name: 'entrada_toggle_like', methods: ['POST'])] public function toggleArticleHeart(Entrada $entrada, EntityManagerInterface $em): JsonResponse { $entrada->incrementaLikeCount(); @@ -55,11 +39,7 @@ public function toggleArticleHeart(Entrada $entrada, EntityManagerInterface $em) return new JsonResponse(['like' => $entrada->getLikes()]); } - /** - * @Route("/admin/entrada/section/{id}", methods="GET", name="admin_entrada_list_section") - * @param Entrada $entrada - * @return JsonResponse - */ + #[Route(path: '/admin/entrada/section/{id}', methods: 'GET', name: 'admin_entrada_list_section')] public function getSectionPrincipal(Entrada $entrada): JsonResponse { return $this->json( @@ -67,29 +47,25 @@ public function getSectionPrincipal(Entrada $entrada): JsonResponse 200, [], [ - 'groups' => ['main'] + 'groups' => ['main'], ] ); } /** - * @Route("/agregarSeccion/{id}", name="entrada_agregar_seccion", methods={"GET", "POST"}) - * @param Request $request - * @param Entrada $entrada - * @param SectionRepository $sectionRepository * @return RedirectResponse|Response */ - public function agregarSeccion(Request $request, Entrada $entrada, SectionRepository $sectionRepository) + #[Route(path: '/agregarSeccion/{id}', name: 'entrada_agregar_seccion', methods: ['GET', 'POST'])] + public function agregarSeccion(Request $request, Entrada $entrada, SectionRepository $sectionRepository, + EntityManagerInterface $entityManager) { $form = $this->createForm(EntradaSectionType::class, $entrada); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $id_section = $form->get('section')->getData(); $seccion = $sectionRepository->find($id_section); $entrada->addSection($seccion); - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($entrada); $entityManager->flush(); @@ -98,7 +74,7 @@ public function agregarSeccion(Request $request, Entrada $entrada, SectionReposi return $this->render('admin/entrada/vistaAgregaSection.html.twig', [ 'index' => $entrada, - 'form' => $form->createView(), + 'form' => $form, ]); } } diff --git a/src/Controller/EntradaReferenciaAdminController.php b/src/Controller/EntradaReferenciaAdminController.php index dc6d4b66..20ce3cf4 100755 --- a/src/Controller/EntradaReferenciaAdminController.php +++ b/src/Controller/EntradaReferenciaAdminController.php @@ -6,13 +6,10 @@ use App\Entity\EntradaReference; use App\Service\UploaderHelper; use Doctrine\ORM\EntityManagerInterface; -use Exception; -use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\File\UploadedFile; use Symfony\Component\HttpFoundation\HeaderUtils; use Symfony\Component\HttpFoundation\JsonResponse; -use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\StreamedResponse; @@ -24,17 +21,9 @@ class EntradaReferenciaAdminController extends AbstractController { - /** - * @Route("/admin/entrada/{id}/referencia", name="admin_entrada_add_referencia", methods={"POST"}) - * @IsGranted("MANAGE", subject="entrada") - * - * @param Entrada $entrada - * @param Request $request - * @param UploaderHelper $helper - * @param EntityManagerInterface $em - * @param ValidatorInterface $validator - */ - public function uploadEntradaReference(Entrada $entrada, Request $request, UploaderHelper $helper, EntityManagerInterface $em, ValidatorInterface $validator) + #[Route(path: '/admin/entrada/{id}/referencia', name: 'admin_entrada_add_referencia', methods: ['POST'])] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('MANAGE', subject: 'entrada')] + public function uploadEntradaReference(Entrada $entrada, Request $request, UploaderHelper $helper, EntityManagerInterface $em, ValidatorInterface $validator): JsonResponse { /** @var UploadedFile $uploadedFile */ $uploadedFile = $request->files->get('reference'); @@ -42,7 +31,7 @@ public function uploadEntradaReference(Entrada $entrada, Request $request, Uploa $nopermitidos = $validator->validate( $uploadedFile, [ new NotBlank([ - 'message' => 'Por favor seleccione una archivo 📁' + 'message' => 'Por favor seleccione una archivo 📁', ] ), new File([ @@ -55,24 +44,23 @@ public function uploadEntradaReference(Entrada $entrada, Request $request, Uploa 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', - 'text/plain' - ] - ]) + 'text/plain', + ], + ]), ] ); if ($nopermitidos->count() > 0) { return $this->json($nopermitidos, 400); -// $nopermitido = $nopermitidos[0]; -// $this->addFlash('error', $nopermitido->getMessage()); -// return $this->redirectToRoute('admin_entrada_edit', [ -// 'id' => $entrada->getId(), -// ]); + // $nopermitido = $nopermitidos[0]; + // $this->addFlash('error', $nopermitido->getMessage()); + // return $this->redirectToRoute('admin_entrada_edit', [ + // 'id' => $entrada->getId(), + // ]); } $filename = $helper->uploadEntradaReference($uploadedFile); - $entradaReference = new EntradaReference($entrada); $entradaReference->setFilename($filename); $entradaReference->setoriginalFilename($uploadedFile->getClientOriginalName() ?? $filename); @@ -85,40 +73,32 @@ public function uploadEntradaReference(Entrada $entrada, Request $request, Uploa 201, [], [ - 'groups'=>['main'] + 'groups' => ['main'], ] - - ); -// return $this->redirectToRoute('admin_entrada_edit', [ -// 'id' => $entrada->getId(), -// ]); + // return $this->redirectToRoute('admin_entrada_edit', [ + // 'id' => $entrada->getId(), + // ]); } - /** - * @Route("/admin/entrada/{id}/referencia", methods="GET", name="admin_entrada_list_referencia") - * @param Entrada $entrada - * @return JsonResponse - */ - public function getEntradaReferences(Entrada $entrada) + #[Route(path: '/admin/entrada/{id}/referencia', methods: 'GET', name: 'admin_entrada_list_referencia')] + public function getEntradaReferences(Entrada $entrada): JsonResponse { return $this->json( $entrada->getEntradaReferences(), 200, [], [ - 'groups' => ['main'] + 'groups' => ['main'], ] ); } /** - * @Route("/descargas/referencias/{filename}", name="entrada_download_reference", methods={"GET"}) - * @param EntradaReference $reference - * @param UploaderHelper $uploaderHelper * @return StreamedResponse */ + #[Route(path: '/descargas/referencias/{filename}', name: 'entrada_download_reference', methods: ['GET'])] public function downloadEntradaReference(EntradaReference $reference, UploaderHelper $uploaderHelper) { $response = new StreamedResponse(function () use ($reference, $uploaderHelper) { @@ -129,24 +109,22 @@ public function downloadEntradaReference(EntradaReference $reference, UploaderHe $response->headers->set('Content-Type', $reference->getMimeType()); $disposition = HeaderUtils::makeDisposition( HeaderUtils::DISPOSITION_ATTACHMENT, -//Si queremos previzualizar el documento comentar la fila anterior y descomentar la siguiente -// HeaderUtils::DISPOSITION_INLINE, + // Si queremos previzualizar el documento comentar la fila anterior y descomentar la siguiente + // HeaderUtils::DISPOSITION_INLINE, $reference->getoriginalFilename() ); $response->headers->set('Content-Disposition', $disposition); -// dd($reference); + // dd($reference); return $response; } /** - * @Route("/admin/entrada/references/{id}", name="admin_entrada_delete_reference", methods={"DELETE"}) - * @param EntradaReference $reference - * @param UploaderHelper $uploaderHelper - * @param EntityManagerInterface $entityManager * @return Response - * @throws Exception + * + * @throws \Exception */ + #[Route(path: '/admin/entrada/references/{id}', name: 'admin_entrada_delete_reference', methods: ['DELETE'])] public function deleteEntradaReference(EntradaReference $reference, UploaderHelper $uploaderHelper, EntityManagerInterface $entityManager) { $entrada = $reference->getEntrada(); @@ -157,20 +135,11 @@ public function deleteEntradaReference(EntradaReference $reference, UploaderHelp $uploaderHelper->deleteFile($reference->getImagePath(), false); - return new Response(null, 204); + return new Response(null, Response::HTTP_NO_CONTENT); } - /** - * @Route("/admin/entrada/references/{id}", name="admin_entrada_update_reference", methods={"PUT"}) - * @param EntradaReference $reference - * @param UploaderHelper $uploaderHelper - * @param EntityManagerInterface $entityManager - * @param SerializerInterface $serializer - * @param Request $request - * @param ValidatorInterface $validator - * @return JsonResponse - */ - public function updateEntradaReference(EntradaReference $reference, UploaderHelper $uploaderHelper, EntityManagerInterface $entityManager, SerializerInterface $serializer, Request $request, ValidatorInterface $validator) + #[Route(path: '/admin/entrada/references/{id}', name: 'admin_entrada_update_reference', methods: ['PUT'])] + public function updateEntradaReference(EntradaReference $reference, UploaderHelper $uploaderHelper, EntityManagerInterface $entityManager, SerializerInterface $serializer, Request $request, ValidatorInterface $validator): JsonResponse { $entrada = $reference->getEntrada(); $this->denyAccessUnlessGranted('MANAGE', $entrada); @@ -181,40 +150,33 @@ public function updateEntradaReference(EntradaReference $reference, UploaderHelp 'json', [ 'object_to_populate' => $reference, - 'groups' => ['input'] + 'groups' => ['input'], ] ); $notAssert = $validator->validate($reference); if ($notAssert->count() > 0) { return $this->json($notAssert, 400); } - $entityManager->persist($reference); - $entityManager->flush(); + $entityManager->persist($reference); + $entityManager->flush(); return $this->json( $reference, 200, [], [ - 'groups' => ['main'] + 'groups' => ['main'], ] ); - } - /** - * @Route("/admin/entrada/{id}/referencia/reorder", methods="POST", name="admin_entrada_reorder_referencia") - * @IsGranted("MANAGE", subject="entrada") - * @param Entrada $entrada - * @param EntityManagerInterface $entityManager - * @param Request $request - * @return JsonResponse - */ - public function reorderEntradaReferences(Entrada $entrada, EntityManagerInterface $entityManager, Request $request) + #[Route(path: '/admin/entrada/{id}/referencia/reorder', methods: 'POST', name: 'admin_entrada_reorder_referencia')] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('MANAGE', subject: 'entrada')] + public function reorderEntradaReferences(Entrada $entrada, EntityManagerInterface $entityManager, Request $request): JsonResponse { $orderedIds = json_decode($request->getContent(), true); - if ($orderedIds === null) { + if (null === $orderedIds) { return $this->json(['detail' => 'Datos Inválidos'], 400); } @@ -232,7 +194,7 @@ public function reorderEntradaReferences(Entrada $entrada, EntityManagerInterfac 200, [], [ - 'groups' => ['main'] + 'groups' => ['main'], ] ); } diff --git a/src/Controller/GroupCelebrationController.php b/src/Controller/GroupCelebrationController.php index 80075304..9fb53fd7 100644 --- a/src/Controller/GroupCelebrationController.php +++ b/src/Controller/GroupCelebrationController.php @@ -14,16 +14,10 @@ use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/admin/grupoCelebracion") - */ +#[Route(path: '/admin/grupoCelebracion')] class GroupCelebrationController extends AbstractController { - /** - * @Route("/", name="group_celebration_index", methods={"GET"}) - * @param GroupCelebrationRepository $groupCelebrationRepository - * @return Response - */ + #[Route(path: '/', name: 'group_celebration_index', methods: ['GET'])] public function index(GroupCelebrationRepository $groupCelebrationRepository): Response { return $this->render('group_celebration/index.html.twig', [ @@ -31,19 +25,14 @@ public function index(GroupCelebrationRepository $groupCelebrationRepository): R ]); } - /** - * @Route("/new", name="group_celebration_new", methods={"GET","POST"}) - * @param Request $request - * @return Response - */ - public function new(Request $request): Response + #[Route(path: '/new', name: 'group_celebration_new', methods: ['GET', 'POST'])] + public function new(Request $request, EntityManagerInterface $entityManager): Response { $groupCelebration = new GroupCelebration(); $form = $this->createForm(GroupCelebrationType::class, $groupCelebration); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($groupCelebration); $entityManager->flush(); @@ -52,15 +41,11 @@ public function new(Request $request): Response return $this->render('group_celebration/new.html.twig', [ 'group_celebration' => $groupCelebration, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="group_celebration_show", methods={"GET"}) - * @param GroupCelebration $groupCelebration - * @return Response - */ + #[Route(path: '/{id}', name: 'group_celebration_show', methods: ['GET'])] public function show(GroupCelebration $groupCelebration): Response { return $this->render('group_celebration/show.html.twig', [ @@ -68,61 +53,46 @@ public function show(GroupCelebration $groupCelebration): Response ]); } - /** - * @Route("/{id}/edit", name="group_celebration_edit", methods={"GET","POST"}) - * @param Request $request - * @param GroupCelebration $groupCelebration - * @return Response - */ - public function edit(Request $request, GroupCelebration $groupCelebration): Response + #[Route(path: '/{id}/edit', name: 'group_celebration_edit', methods: ['GET', 'POST'])] + public function edit(Request $request, GroupCelebration $groupCelebration, EntityManagerInterface $entityManager): Response { $form = $this->createForm(GroupCelebrationType::class, $groupCelebration); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $this->getDoctrine()->getManager()->flush(); + $entityManager->flush(); return $this->redirectToRoute('group_celebration_index'); } return $this->render('group_celebration/edit.html.twig', [ 'group_celebration' => $groupCelebration, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}/remove/{celebracion}", name="group_celebration_remove_celebracion", methods={"GET","POST"}) - * @param Request $request - * @param GroupCelebration $groupCelebration - * @param CelebracionRepository $celebracionRepository - * @return Response - */ - public function removeCelebracion(Request $request, GroupCelebration $groupCelebration, CelebracionRepository $celebracionRepository): Response + #[Route(path: '/{id}/remove/{celebracion}', name: 'group_celebration_remove_celebracion', methods: ['GET', 'POST'])] + public function removeCelebracion(Request $request, GroupCelebration $groupCelebration, + CelebracionRepository $celebracionRepository, + EntityManagerInterface $entityManager): Response { $id_celebracion = $request->get('celebracion'); $celebracion = $celebracionRepository->find($id_celebracion); $groupCelebration->removeCelebracione($celebracion); - $this->getDoctrine()->getManager()->flush(); - + $entityManager->flush(); return $this->render('group_celebration/show.html.twig', [ 'group_celebration' => $groupCelebration, ]); } - /** - * @Route("/{id}", name="group_celebration_delete", methods={"DELETE"}) - * @param Request $request - * @param GroupCelebration $groupCelebration - * @return Response - */ - public function delete(Request $request, GroupCelebration $groupCelebration): Response + #[Route(path: '/{id}', name: 'group_celebration_delete', methods: ['DELETE'])] + public function delete(Request $request, GroupCelebration $groupCelebration, + EntityManagerInterface $entityManager): Response { - if ($this->isCsrfTokenValid('delete' . $groupCelebration->getId(), $request->request->get('_token'))) { - $entityManager = $this->getDoctrine()->getManager(); + if ($this->isCsrfTokenValid('delete'.$groupCelebration->getId(), $request->request->get('_token'))) { $entityManager->remove($groupCelebration); $entityManager->flush(); } @@ -131,21 +101,15 @@ public function delete(Request $request, GroupCelebration $groupCelebration): Re } /** - * @Route("/agregarCelebracion/{id}", name="grupo_agregar_celebracion", methods={"GET", "POST"}) - * @param Request $request - * @param GroupCelebration $groupCelebration - * @param EntityManagerInterface $em - * @param GroupCelebrationRepository $groupCelebrationRepository - * @param CelebracionRepository $celebracionRepository * @return RedirectResponse|Response */ + #[Route(path: '/agregarCelebracion/{id}', name: 'grupo_agregar_celebracion', methods: ['GET', 'POST'])] public function agregarCelebracion(Request $request, GroupCelebration $groupCelebration, EntityManagerInterface $em, GroupCelebrationRepository $groupCelebrationRepository, CelebracionRepository $celebracionRepository) { $form = $this->createForm(CelebrationAddType::class); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $id_celebracion = $form->get('celebration')->getData(); $celebracion = $celebracionRepository->find($id_celebracion); $celebracion->addGroupCelebration($groupCelebration); @@ -153,13 +117,13 @@ public function agregarCelebracion(Request $request, GroupCelebration $groupCele $em->flush(); return $this->redirectToRoute('group_celebration_show', [ - 'id' => $groupCelebration->getId() + 'id' => $groupCelebration->getId(), ]); } return $this->render('celebracion/vistaAgregaCelebracion.html.twig', [ 'group_celebration' => $groupCelebration, - 'form' => $form->createView(), + 'form' => $form, ]); } } diff --git a/src/Controller/IndexAlamedaController.php b/src/Controller/IndexAlamedaController.php index bae3b2fd..d0f39776 100755 --- a/src/Controller/IndexAlamedaController.php +++ b/src/Controller/IndexAlamedaController.php @@ -3,15 +3,11 @@ namespace App\Controller; use App\Entity\IndexAlameda; -use App\Entity\Invitado; -use App\Entity\Section; use App\Form\IndexAlamedaType; use App\Form\IndexSectionType; -use App\Form\InvitadoType; use App\Repository\IndexAlamedaRepository; use App\Repository\SectionRepository; use Doctrine\ORM\EntityManagerInterface; -use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\RedirectResponse; @@ -19,39 +15,27 @@ use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/index/alameda") - * @IsGranted("ROLE_ADMIN") - */ +#[Route(path: '/index/alameda')] +#[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_ADMIN')] class IndexAlamedaController extends AbstractController { - /** - * @Route("/", name="index_alameda_index", methods={"GET"}) - * @param IndexAlamedaRepository $indexAlamedaRepository - * @return Response - */ + #[Route(path: '/', name: 'index_alameda_index', methods: ['GET'])] public function index(IndexAlamedaRepository $indexAlamedaRepository): Response { - return $this->render('index_alameda/index.html.twig', [ - 'index_alamedas' => $indexAlamedaRepository->findBy(['base'=>'index']), + 'index_alamedas' => $indexAlamedaRepository->findBy(['base' => 'index']), // 'datosIndex' => $indexAlamedaRepository->findAll()[0], ]); } - /** - * @Route("/new", name="index_alameda_new", methods={"GET","POST"}) - * @param Request $request - * @return Response - */ - public function new(Request $request): Response + #[Route(path: '/new', name: 'index_alameda_new', methods: ['GET', 'POST'])] + public function new(Request $request, EntityManagerInterface $entityManager): Response { $indexAlameda = new IndexAlameda(); $form = $this->createForm(IndexAlamedaType::class, $indexAlameda); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($indexAlameda); $entityManager->flush(); @@ -60,15 +44,11 @@ public function new(Request $request): Response return $this->render('index_alameda/new.html.twig', [ 'index_alameda' => $indexAlameda, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="index_alameda_show", methods={"GET"}) - * @param IndexAlameda $indexAlameda - * @return Response - */ + #[Route(path: '/{id}', name: 'index_alameda_show', methods: ['GET'])] public function show(IndexAlameda $indexAlameda): Response { return $this->render('index_alameda/show.html.twig', [ @@ -76,12 +56,7 @@ public function show(IndexAlameda $indexAlameda): Response ]); } - /** - * @Route("/{id}/edit", name="index_alameda_edit", methods={"GET","POST"}) - * @param Request $request - * @param IndexAlameda $indexAlameda - * @return Response - */ + #[Route(path: '/{id}/edit', name: 'index_alameda_edit', methods: ['GET', 'POST'])] public function edit(Request $request, IndexAlameda $indexAlameda): Response { $form = $this->createForm(IndexAlamedaType::class, $indexAlameda); @@ -90,27 +65,20 @@ public function edit(Request $request, IndexAlameda $indexAlameda): Response if ($form->isSubmitted() && $form->isValid()) { $this->container->get('doctrine')->getManager()->flush(); - return $this->redirectToRoute('index_alameda_index'); } return $this->render('index_alameda/edit.html.twig', [ 'index_alameda' => $indexAlameda, 'datosIndex' => $indexAlameda, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="index_alameda_delete", methods={"DELETE"}) - * @param Request $request - * @param IndexAlameda $indexAlameda - * @return Response - */ - public function delete(Request $request, IndexAlameda $indexAlameda): Response + #[Route(path: '/{id}', name: 'index_alameda_delete', methods: ['DELETE'])] + public function delete(Request $request, IndexAlameda $indexAlameda, EntityManagerInterface $entityManager): Response { if ($this->isCsrfTokenValid('delete'.$indexAlameda->getId(), $request->request->get('_token'))) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->remove($indexAlameda); $entityManager->flush(); } @@ -118,11 +86,7 @@ public function delete(Request $request, IndexAlameda $indexAlameda): Response return $this->redirectToRoute('index_alameda_index'); } - /** - * @Route("/admin/index/section/{id}", methods="GET", name="admin_index_list_section") - * @param IndexAlameda $indexAlameda - * @return JsonResponse - */ + #[Route(path: '/admin/index/section/{id}', methods: 'GET', name: 'admin_index_list_section')] public function getSectionPrincipal(IndexAlameda $indexAlameda): JsonResponse { return $this->json( @@ -130,23 +94,17 @@ public function getSectionPrincipal(IndexAlameda $indexAlameda): JsonResponse 200, [], [ - 'groups' => ['main'] + 'groups' => ['main'], ] ); } - /** - * @Route("/admin/index/section/{id}/reorder", methods="POST", name="admin_principal_reorder_section") - * @param IndexAlameda $indexAlameda - * @param EntityManagerInterface $entityManager - * @param Request $request - * @return JsonResponse - */ - public function reorderPrincipalSections(IndexAlameda $indexAlameda, EntityManagerInterface $entityManager, Request $request) + #[Route(path: '/admin/index/section/{id}/reorder', methods: 'POST', name: 'admin_principal_reorder_section')] + public function reorderPrincipalSections(IndexAlameda $indexAlameda, EntityManagerInterface $entityManager, Request $request): JsonResponse { $orderedIds = json_decode($request->getContent(), true); - if ($orderedIds === null) { + if (null === $orderedIds) { return $this->json(['detail' => 'Datos Inválidos'], 400); } @@ -164,31 +122,26 @@ public function reorderPrincipalSections(IndexAlameda $indexAlameda, EntityManag 200, [], [ - 'groups' => ['main'] + 'groups' => ['main'], ] ); } /** - * @Route("/agregarSeccion/{id}", name="index_agregar_seccion", methods={"GET", "POST"}) - * @param Request $request - * @param IndexAlameda $indexAlameda - * @param EntityManagerInterface $entityManager - * @param SectionRepository $sectionRepository - * @param IndexAlamedaRepository $indexAlamedaRepository * @return RedirectResponse|Response */ - public function agregarSeccion(Request $request, IndexAlameda $indexAlameda, EntityManagerInterface $entityManager, SectionRepository $sectionRepository, IndexAlamedaRepository $indexAlamedaRepository) + #[Route(path: '/agregarSeccion/{id}', name: 'index_agregar_seccion', methods: ['GET', 'POST'])] + public function agregarSeccion(Request $request, IndexAlameda $indexAlameda, + EntityManagerInterface $entityManager, SectionRepository $sectionRepository, + IndexAlamedaRepository $indexAlamedaRepository) { $form = $this->createForm(IndexSectionType::class, $indexAlameda); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $id_section = $form->get('section')->getData(); $seccion = $sectionRepository->find($id_section); $indexAlameda->addSection($seccion); - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($indexAlameda); $entityManager->flush(); @@ -200,10 +153,7 @@ public function agregarSeccion(Request $request, IndexAlameda $indexAlameda, Ent return $this->render('index_alameda/vistaAgregaSection.html.twig', [ 'index' => $indexAlameda, - 'form' => $form->createView(), + 'form' => $form, ]); - } - - } diff --git a/src/Controller/InvitadoController.php b/src/Controller/InvitadoController.php index 1297d273..565b540f 100644 --- a/src/Controller/InvitadoController.php +++ b/src/Controller/InvitadoController.php @@ -8,61 +8,48 @@ use App\Repository\InvitadoRepository; use Doctrine\ORM\EntityManagerInterface; use Knp\Component\Pager\PaginatorInterface; -use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -use Symfony\Component\Serializer\Encoder\JsonEncode; -/** - * @Route("/admin/invitado") - * @IsGranted("ROLE_RESERVA") - */ +#[Route(path: '/admin/invitado')] +#[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_RESERVA')] class InvitadoController extends AbstractController { - /** - * @Route("/", name="invitado_index", methods={"GET"}) - * @param InvitadoRepository $invitadoRepository - * @param PaginatorInterface $paginator - * @param Request $request - * @param CelebracionRepository $celebracionRepository - * @return Response - */ + #[Route(path: '/', name: 'invitado_index', methods: ['GET'])] public function index(InvitadoRepository $invitadoRepository, PaginatorInterface $paginator, Request $request, CelebracionRepository $celebracionRepository): Response { $q = $request->query->get('c'); $busq = $request->query->get('busq'); $celebracion = null; - if(isset($q)){ + if (isset($q)) { $celebracion = $celebracionRepository->find($q); } $queryBuilder = $invitadoRepository->searchQueryBuilder($q, $busq); $invitados = $paginator->paginate( $queryBuilder, /* query NOT result */ - $request->query->getInt('page', 1)/*page number*/, - 20/*limit per page*/ + $request->query->getInt('page', 1)/* page number */, + 20/* limit per page */ ); + return $this->render('invitado/index.html.twig', [ 'invitados' => $invitados, - 'celebracion' => $celebracion + 'celebracion' => $celebracion, ]); } /** - * @Route("/update_ausente", name="invitado_update_ausente", methods={"GET"}) - * @param Request $request - * @param InvitadoRepository $invitadoRepository - * @param EntityManagerInterface $entityManager * @return JsonResponse */ + #[Route(path: '/update_ausente', name: 'invitado_update_ausente', methods: ['GET'])] public function updateAusente(Request $request, InvitadoRepository $invitadoRepository, EntityManagerInterface $entityManager) { $q = $request->query->get('c'); $invitados = $invitadoRepository->getAusentesCelebracion($q); - foreach ($invitados as $invitado){ - /** @var Invitado $invitado */ + foreach ($invitados as $invitado) { + /* @var Invitado $invitado */ $invitado->setIsPresente(false); $entityManager->persist($invitado); } @@ -70,20 +57,16 @@ public function updateAusente(Request $request, InvitadoRepository $invitadoRepo $ausentes = $invitadoRepository->countAusentesByCelebracion($q); return new JsonResponse(['ausentes' => $ausentes]); - } - /** - * @Route("/new", name="invitado_new", methods={"GET","POST"}) - */ - public function new(Request $request): Response + #[Route(path: '/new', name: 'invitado_new', methods: ['GET', 'POST'])] + public function new(Request $request, EntityManagerInterface $entityManager): Response { $invitado = new Invitado(); $form = $this->createForm(InvitadoType::class, $invitado); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($invitado); $entityManager->flush(); @@ -92,15 +75,11 @@ public function new(Request $request): Response return $this->render('invitado/new.html.twig', [ 'invitado' => $invitado, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="invitado_show", methods={"GET"}) - * @param Invitado $invitado - * @return Response - */ + #[Route(path: '/{id}', name: 'invitado_show', methods: ['GET'])] public function show(Invitado $invitado): Response { return $this->render('invitado/show.html.twig', [ @@ -108,35 +87,28 @@ public function show(Invitado $invitado): Response ]); } - /** - * @Route("/{id}/edit", name="invitado_edit", methods={"GET","POST"}) - */ - public function edit(Request $request, Invitado $invitado): Response + #[Route(path: '/{id}/edit', name: 'invitado_edit', methods: ['GET', 'POST'])] + public function edit(Request $request, Invitado $invitado, EntityManagerInterface $entityManager): Response { $form = $this->createForm(InvitadoType::class, $invitado); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $this->getDoctrine()->getManager()->flush(); + $entityManager->flush(); return $this->redirectToRoute('invitado_index'); } return $this->render('invitado/edit.html.twig', [ 'invitado' => $invitado, - 'form' => $form->createView(), + 'form' => $form, ]); } - - - /** - * @Route("/{id}", name="invitado_delete", methods={"DELETE"}) - */ - public function delete(Request $request, Invitado $invitado): Response + #[Route(path: '/{id}', name: 'invitado_delete', methods: ['DELETE'])] + public function delete(Request $request, Invitado $invitado, EntityManagerInterface $entityManager): Response { if ($this->isCsrfTokenValid('delete'.$invitado->getId(), $request->request->get('_token'))) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->remove($invitado); $entityManager->flush(); } @@ -145,12 +117,9 @@ public function delete(Request $request, Invitado $invitado): Response } /** - * @Route("/cambia_presente", name="cambia_presente", methods={"GET", "POST"}) - * @param Request $request - * @param InvitadoRepository $invitadoRepository - * @param EntityManagerInterface $em * @return JsonResponse */ + #[Route(path: '/cambia_presente', name: 'cambia_presente', methods: ['GET', 'POST'])] public function cambiaPresente(Request $request, InvitadoRepository $invitadoRepository, EntityManagerInterface $em) { $id = $request->get('id'); @@ -158,7 +127,7 @@ public function cambiaPresente(Request $request, InvitadoRepository $invitadoRep $invitado->setIsPresente(!$invitado->getIsPresente()); $em->persist($invitado); $em->flush(); - return new JsonResponse(['presente' => $invitado->getIsPresente()]); + return new JsonResponse(['presente' => $invitado->getIsPresente()]); } } diff --git a/src/Controller/ItemFeedController.php b/src/Controller/ItemFeedController.php index ae863cdf..5b0694c2 100644 --- a/src/Controller/ItemFeedController.php +++ b/src/Controller/ItemFeedController.php @@ -5,19 +5,16 @@ use App\Entity\ItemFeed; use App\Form\ItemFeedType; use App\Repository\ItemFeedRepository; +use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/admin/itemfeed") - */ +#[Route(path: '/admin/itemfeed')] class ItemFeedController extends AbstractController { - /** - * @Route("/", name="item_feed_index", methods={"GET"}) - */ + #[Route(path: '/', name: 'item_feed_index', methods: ['GET'])] public function index(ItemFeedRepository $itemFeedRepository): Response { return $this->render('item_feed/index.html.twig', [ @@ -25,17 +22,14 @@ public function index(ItemFeedRepository $itemFeedRepository): Response ]); } - /** - * @Route("/new", name="item_feed_new", methods={"GET","POST"}) - */ - public function new(Request $request): Response + #[Route(path: '/new', name: 'item_feed_new', methods: ['GET', 'POST'])] + public function new(Request $request, EntityManagerInterface $entityManager): Response { $itemFeed = new ItemFeed(); $form = $this->createForm(ItemFeedType::class, $itemFeed); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($itemFeed); $entityManager->flush(); @@ -44,13 +38,11 @@ public function new(Request $request): Response return $this->render('item_feed/new.html.twig', [ 'item_feed' => $itemFeed, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="item_feed_show", methods={"GET"}) - */ + #[Route(path: '/{id}', name: 'item_feed_show', methods: ['GET'])] public function show(ItemFeed $itemFeed): Response { return $this->render('item_feed/show.html.twig', [ @@ -58,33 +50,28 @@ public function show(ItemFeed $itemFeed): Response ]); } - /** - * @Route("/{id}/edit", name="item_feed_edit", methods={"GET","POST"}) - */ - public function edit(Request $request, ItemFeed $itemFeed): Response + #[Route(path: '/{id}/edit', name: 'item_feed_edit', methods: ['GET', 'POST'])] + public function edit(Request $request, ItemFeed $itemFeed, EntityManagerInterface $entityManager): Response { $form = $this->createForm(ItemFeedType::class, $itemFeed); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $this->getDoctrine()->getManager()->flush(); + $entityManager->flush(); return $this->redirectToRoute('item_feed_index'); } return $this->render('item_feed/edit.html.twig', [ 'item_feed' => $itemFeed, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="item_feed_delete", methods={"DELETE"}) - */ - public function delete(Request $request, ItemFeed $itemFeed): Response + #[Route(path: '/{id}', name: 'item_feed_delete', methods: ['DELETE'])] + public function delete(Request $request, ItemFeed $itemFeed, EntityManagerInterface $entityManager): Response { if ($this->isCsrfTokenValid('delete'.$itemFeed->getId(), $request->request->get('_token'))) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->remove($itemFeed); $entityManager->flush(); } diff --git a/src/Controller/MailerController.php b/src/Controller/MailerController.php index b8c9fe2b..e1dd36c6 100644 --- a/src/Controller/MailerController.php +++ b/src/Controller/MailerController.php @@ -1,6 +1,7 @@ getEmail(); $email = (new TemplatedEmail()) @@ -40,19 +38,19 @@ public function sendEmail(MailerInterface $mailer, Reservante $reservante) $mailer->send($email); $this->addFlash('success', 'Se ha guardado su reserva'); + return $this->redirectToRoute('vista_reserva', [ 'celebracion' => $reservante->getCelebracion()->getId(), - 'email' => $reservante->getEmail() + 'email' => $reservante->getEmail(), ]); } /** - * @Route("/email_invitado/{id}", name="envia_mail_invitado" ) - * @param MailerInterface $mailer - * @param Invitado $reservante * @return RedirectResponse + * * @throws TransportExceptionInterface */ + #[Route(path: '/email_invitado/{id}', name: 'envia_mail_invitado')] public function sendEmailInvitado(MailerInterface $mailer, Invitado $reservante) { $email = $reservante->getEmail(); @@ -61,10 +59,10 @@ public function sendEmailInvitado(MailerInterface $mailer, Invitado $reservante) $email = (new TemplatedEmail()) ->from('contacto@iglesiaalameda.com') ->to($email) - //->cc('cc@example.com') - //->bcc('bcc@example.com') - //->replyTo('fabien@example.com') - //->priority(Email::PRIORITY_HIGH) + // ->cc('cc@example.com') + // ->bcc('bcc@example.com') + // ->replyTo('fabien@example.com') + // ->priority(Email::PRIORITY_HIGH) ->subject('Tu reserva fue realizada') ->text('Gracias por reservar') ->htmlTemplate('email/reserva_invitado.html.twig') @@ -75,7 +73,5 @@ public function sendEmailInvitado(MailerInterface $mailer, Invitado $reservante) ]); // ; final de email $mailer->send($email); - - } } diff --git a/src/Controller/MetaBaseController.php b/src/Controller/MetaBaseController.php index 05d214e9..db177009 100755 --- a/src/Controller/MetaBaseController.php +++ b/src/Controller/MetaBaseController.php @@ -5,21 +5,16 @@ use App\Entity\MetaBase; use App\Form\MetaBaseType; use App\Repository\MetaBaseRepository; +use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/admin/metabase") - */ +#[Route(path: '/admin/metabase')] class MetaBaseController extends AbstractController { - /** - * @Route("/", name="meta_base_index", methods={"GET"}) - * @param MetaBaseRepository $metaBaseRepository - * @return Response - */ + #[Route(path: '/', name: 'meta_base_index', methods: ['GET'])] public function index(MetaBaseRepository $metaBaseRepository): Response { return $this->render('meta_base/index.html.twig', [ @@ -27,9 +22,7 @@ public function index(MetaBaseRepository $metaBaseRepository): Response ]); } - /** - * @Route("/new", name="meta_base_new", methods={"GET","POST"}) - */ + #[Route(path: '/new', name: 'meta_base_new', methods: ['GET', 'POST'])] public function new(Request $request): Response { $metaBase = new MetaBase(); @@ -46,13 +39,11 @@ public function new(Request $request): Response return $this->render('meta_base/new.html.twig', [ 'meta_base' => $metaBase, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="meta_base_show", methods={"GET"}) - */ + #[Route(path: '/{id}', name: 'meta_base_show', methods: ['GET'])] public function show(MetaBase $metaBase): Response { return $this->render('meta_base/show.html.twig', [ @@ -60,9 +51,7 @@ public function show(MetaBase $metaBase): Response ]); } - /** - * @Route("/{id}/edit", name="meta_base_edit", methods={"GET","POST"}) - */ + #[Route(path: '/{id}/edit', name: 'meta_base_edit', methods: ['GET', 'POST'])] public function edit(Request $request, MetaBase $metaBase): Response { $form = $this->createForm(MetaBaseType::class, $metaBase); @@ -70,22 +59,20 @@ public function edit(Request $request, MetaBase $metaBase): Response if ($form->isSubmitted() && $form->isValid()) { $this->container->get('doctrine')->getManager()->flush(); + return $this->redirectToRoute('meta_base_index'); } return $this->render('meta_base/edit.html.twig', [ 'meta_base' => $metaBase, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="meta_base_delete", methods={"DELETE"}) - */ - public function delete(Request $request, MetaBase $metaBase): Response + #[Route(path: '/{id}', name: 'meta_base_delete', methods: ['DELETE'])] + public function delete(Request $request, MetaBase $metaBase, EntityManagerInterface $entityManager): Response { if ($this->isCsrfTokenValid('delete'.$metaBase->getId(), $request->request->get('_token'))) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->remove($metaBase); $entityManager->flush(); } diff --git a/src/Controller/MinisterioController.php b/src/Controller/MinisterioController.php index ed707dd0..8f569394 100644 --- a/src/Controller/MinisterioController.php +++ b/src/Controller/MinisterioController.php @@ -5,19 +5,16 @@ use App\Entity\Ministerio; use App\Form\MinisterioType; use App\Repository\MinisterioRepository; +use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/admin/ministerio") - */ +#[Route(path: '/admin/ministerio')] class MinisterioController extends AbstractController { - /** - * @Route("/", name="ministerio_index", methods={"GET"}) - */ + #[Route(path: '/', name: 'ministerio_index', methods: ['GET'])] public function index(MinisterioRepository $ministerioRepository): Response { return $this->render('ministerio/index.html.twig', [ @@ -25,17 +22,14 @@ public function index(MinisterioRepository $ministerioRepository): Response ]); } - /** - * @Route("/new", name="ministerio_new", methods={"GET","POST"}) - */ - public function new(Request $request): Response + #[Route(path: '/new', name: 'ministerio_new', methods: ['GET', 'POST'])] + public function new(Request $request, EntityManagerInterface $entityManager): Response { $ministerio = new Ministerio(); $form = $this->createForm(MinisterioType::class, $ministerio); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($ministerio); $entityManager->flush(); @@ -44,13 +38,11 @@ public function new(Request $request): Response return $this->render('ministerio/new.html.twig', [ 'ministerio' => $ministerio, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="ministerio_show", methods={"GET"}) - */ + #[Route(path: '/{id}', name: 'ministerio_show', methods: ['GET'])] public function show(Ministerio $ministerio): Response { return $this->render('ministerio/show.html.twig', [ @@ -58,33 +50,28 @@ public function show(Ministerio $ministerio): Response ]); } - /** - * @Route("/{id}/edit", name="ministerio_edit", methods={"GET","POST"}) - */ - public function edit(Request $request, Ministerio $ministerio): Response + #[Route(path: '/{id}/edit', name: 'ministerio_edit', methods: ['GET', 'POST'])] + public function edit(Request $request, Ministerio $ministerio, EntityManagerInterface $entityManager): Response { $form = $this->createForm(MinisterioType::class, $ministerio); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $this->getDoctrine()->getManager()->flush(); + $entityManager->flush(); return $this->redirectToRoute('ministerio_index'); } return $this->render('ministerio/edit.html.twig', [ 'ministerio' => $ministerio, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="ministerio_delete", methods={"DELETE"}) - */ - public function delete(Request $request, Ministerio $ministerio): Response + #[Route(path: '/{id}', name: 'ministerio_delete', methods: ['DELETE'])] + public function delete(Request $request, Ministerio $ministerio, EntityManagerInterface $entityManager): Response { if ($this->isCsrfTokenValid('delete'.$ministerio->getId(), $request->request->get('_token'))) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->remove($ministerio); $entityManager->flush(); } diff --git a/src/Controller/ModelTemplateController.php b/src/Controller/ModelTemplateController.php index e1c644a8..86380939 100644 --- a/src/Controller/ModelTemplateController.php +++ b/src/Controller/ModelTemplateController.php @@ -8,72 +8,52 @@ use App\Repository\TypeBlockRepository; use App\Service\UploaderHelper; use Doctrine\ORM\EntityManagerInterface; -use Exception; use Knp\Component\Pager\PaginatorInterface; -use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\Finder\Finder; use Symfony\Component\HttpFoundation\File\UploadedFile; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpFoundation\Session\SessionInterface; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/admin/modeltemplate") - */ +#[Route(path: '/admin/modeltemplate')] class ModelTemplateController extends AbstractController { - - private $session; - /** * ModelTemplateController constructor. - * @param SessionInterface $session */ - public function __construct(SessionInterface $session) + public function __construct(private readonly RequestStack $requestStack) { - $this->session = $session; } - /** - * @Route("/", name="model_template_index", methods={"GET"}) - * @param ModelTemplateRepository $modelTemplateRepository - * @param PaginatorInterface $paginator - * @param Request $request - * @return Response - */ + #[Route(path: '/', name: 'model_template_index', methods: ['GET'])] public function index(ModelTemplateRepository $modelTemplateRepository, PaginatorInterface $paginator, Request $request): Response { $modelTemplate = $modelTemplateRepository->findAllModelTemplates(); $modelTemplates = $paginator->paginate( $modelTemplate, /* query NOT result */ - $request->query->getInt('page', 1)/*page number*/, - 20/*limit per page*/ + $request->query->getInt('page', 1)/* page number */, + 20/* limit per page */ ); + return $this->render('model_template/index.html.twig', [ 'model_templates' => $modelTemplates, ]); } - /** - * @Route("/{block}", name="model_template_index_block", methods={"GET"}) - * @param ModelTemplateRepository $modelTemplateRepository - * @param Request $request - * @param PaginatorInterface $paginator - * @return Response - */ - public function indexBlock(ModelTemplateRepository $modelTemplateRepository,Request $request, PaginatorInterface $paginator): Response + #[Route(path: '/{block}', name: 'model_template_index_block', methods: ['GET'])] + public function indexBlock(ModelTemplateRepository $modelTemplateRepository, Request $request, PaginatorInterface $paginator): Response { $block = $request->get('block'); $modelTemplate = $modelTemplateRepository->findModelTemplatesByBlock($block); $modelTemplates = $paginator->paginate( $modelTemplate, /* query NOT result */ - $request->query->getInt('page', 1)/*page number*/, - 20/*limit per page*/ + $request->query->getInt('page', 1)/* page number */, + 20/* limit per page */ ); return $this->render('model_template/index.html.twig', [ @@ -82,14 +62,11 @@ public function indexBlock(ModelTemplateRepository $modelTemplateRepository,Requ } /** - * @Route("/new", name="model_template_new", methods={"GET","POST"}) - * @param Request $request - * @param UploaderHelper $uploaderHelper - * @return Response - * @throws Exception - * @IsGranted("ROLE_ADMIN") + * @throws \Exception */ - public function new(Request $request, UploaderHelper $uploaderHelper): Response + #[Route(path: '/new', name: 'model_template_new', methods: ['GET', 'POST'])] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_ADMIN')] + public function new(Request $request, UploaderHelper $uploaderHelper, EntityManagerInterface $entityManager): Response { $modelTemplate = new ModelTemplate(); $form = $this->createForm(ModelTemplateType::class, $modelTemplate); @@ -106,7 +83,6 @@ public function new(Request $request, UploaderHelper $uploaderHelper): Response $newFilename = $uploaderHelper->uploadEntradaImage($uploadedFile, false); $modelTemplate->setImageFilename($newFilename); } - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($modelTemplate); $entityManager->flush(); @@ -115,15 +91,11 @@ public function new(Request $request, UploaderHelper $uploaderHelper): Response return $this->render('model_template/new.html.twig', [ 'model_template' => $modelTemplate, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}/show", name="model_template_show", methods={"GET"}) - * @param ModelTemplate $modelTemplate - * @return Response - */ + #[Route(path: '/{id}/show', name: 'model_template_show', methods: ['GET'])] public function show(ModelTemplate $modelTemplate): Response { return $this->render('model_template/show.html.twig', [ @@ -132,15 +104,12 @@ public function show(ModelTemplate $modelTemplate): Response } /** - * @Route("/{id}/edit", name="model_template_edit", methods={"GET","POST"}) - * @param Request $request - * @param ModelTemplate $modelTemplate - * @param UploaderHelper $uploaderHelper - * @return Response - * @throws Exception - * @IsGranted("ROLE_ADMIN") + * @throws \Exception */ - public function edit(Request $request, ModelTemplate $modelTemplate, UploaderHelper $uploaderHelper): Response + #[Route(path: '/{id}/edit', name: 'model_template_edit', methods: ['GET', 'POST'])] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_ADMIN')] + public function edit(Request $request, ModelTemplate $modelTemplate, UploaderHelper $uploaderHelper, + EntityManagerInterface $entityManager): Response { $form = $this->createForm(ModelTemplateType::class, $modelTemplate); $form->handleRequest($request); @@ -152,28 +121,23 @@ public function edit(Request $request, ModelTemplate $modelTemplate, UploaderHel $newFilename = $uploaderHelper->uploadEntradaImage($uploadedFile, $modelTemplate->getImageFilename()); $modelTemplate->setImageFilename($newFilename); } - $this->getDoctrine()->getManager()->flush(); + $entityManager->flush(); return $this->redirectToRoute('model_template_index'); } return $this->render('model_template/edit.html.twig', [ 'model_template' => $modelTemplate, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="model_template_delete", methods={"DELETE"}) - * @param Request $request - * @param ModelTemplate $modelTemplate - * @return Response - * @IsGranted("ROLE_ADMIN") - */ - public function delete(Request $request, ModelTemplate $modelTemplate): Response + #[Route(path: '/{id}', name: 'model_template_delete', methods: ['DELETE'])] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_ADMIN')] + public function delete(Request $request, ModelTemplate $modelTemplate, + EntityManagerInterface $entityManager): Response { - if ($this->isCsrfTokenValid('delete' . $modelTemplate->getId(), $request->request->get('_token'))) { - $entityManager = $this->getDoctrine()->getManager(); + if ($this->isCsrfTokenValid('delete'.$modelTemplate->getId(), $request->request->get('_token'))) { $entityManager->remove($modelTemplate); $entityManager->flush(); } @@ -181,25 +145,18 @@ public function delete(Request $request, ModelTemplate $modelTemplate): Response return $this->redirectToRoute('model_template_index'); } - /** - * @Route("/registerTemplate/all", name="register_template", methods={"GET", "POST"}) - * @param string $pathTemplate - * @param TypeBlockRepository $blockRepository - * @param ModelTemplateRepository $modelTemplateRepository - * @param EntityManagerInterface $em - * @return JsonResponse - */ + #[Route(path: '/registerTemplate/all', name: 'register_template', methods: ['GET', 'POST'])] public function registerTemplate(string $pathTemplate, TypeBlockRepository $blockRepository, ModelTemplateRepository $modelTemplateRepository, EntityManagerInterface $em): JsonResponse { $models = [ - $pathTemplate . '/modelEntrada' => 'entrada', - $pathTemplate . '/sections' => 'seccion', - $pathTemplate . '/models/principal' => 'page', - $pathTemplate . '/models/sections' => 'seccion', - $pathTemplate . '/models/entradas' => 'entrada' + $pathTemplate.'/modelEntrada' => 'entrada', + $pathTemplate.'/sections' => 'seccion', + $pathTemplate.'/models/principal' => 'page', + $pathTemplate.'/models/sections' => 'seccion', + $pathTemplate.'/models/entradas' => 'entrada', ]; $temp = []; - foreach ($models as $key => $value){ + foreach ($models as $key => $value) { $finder = new Finder(); $finder->in($key); $finder->files()->name('*.twig'); @@ -207,7 +164,7 @@ public function registerTemplate(string $pathTemplate, TypeBlockRepository $bloc foreach ($finder as $load) { $explodurl = explode($key, $load->getPathname()); $string = end($explodurl); - $string = str_replace("/", '', $string); + $string = str_replace('/', '', $string); $explodstring = explode('.', $string); $data = $explodstring[0]; $mt = $modelTemplateRepository->findBy(['identifier' => $data]); @@ -222,28 +179,22 @@ public function registerTemplate(string $pathTemplate, TypeBlockRepository $bloc $em->persist($template); $em->flush(); } else { - $string = $string . " ya existe"; + $string = $string.' ya existe'; } - array_push($temp, $string); } - } return new JsonResponse($temp); - } - /** - * @Route("createBlockFromModelTemplate/{id}", name="model_template_create_block", methods={"GET", "POST"}) - * @param ModelTemplate $modelTemplate - * @return RedirectResponse - */ + #[Route(path: 'createBlockFromModelTemplate/{id}', name: 'model_template_create_block', methods: ['GET', 'POST'])] public function createBlockFromModelTemplate(ModelTemplate $modelTemplate): RedirectResponse { - $this->session->set('model_template_id', $modelTemplate->getId()); + $this->requestStack->getSession()->set('model_template_id', $modelTemplate->getId()); $entity = $modelTemplate->getBlock()->getEntity(); - return $this->redirectToRoute(sprintf('admin_%s_new_step1', strtolower($entity) )); + + return $this->redirectToRoute(sprintf('admin_%s_new_step1', strtolower($entity))); } } diff --git a/src/Controller/NewsSiteController.php b/src/Controller/NewsSiteController.php index eca0b232..3d52a9d6 100644 --- a/src/Controller/NewsSiteController.php +++ b/src/Controller/NewsSiteController.php @@ -5,19 +5,16 @@ use App\Entity\NewsSite; use App\Form\NewsSiteType; use App\Repository\NewsSiteRepository; +use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/admin/news-site") - */ +#[Route(path: '/admin/news-site')] class NewsSiteController extends AbstractController { - /** - * @Route("/", name="news_site_index", methods={"GET"}) - */ + #[Route(path: '/', name: 'news_site_index', methods: ['GET'])] public function index(NewsSiteRepository $newsSiteRepository): Response { return $this->render('news_site/index.html.twig', [ @@ -25,17 +22,14 @@ public function index(NewsSiteRepository $newsSiteRepository): Response ]); } - /** - * @Route("/new", name="news_site_new", methods={"GET","POST"}) - */ - public function new(Request $request): Response + #[Route(path: '/new', name: 'news_site_new', methods: ['GET', 'POST'])] + public function new(Request $request, EntityManagerInterface $entityManager): Response { $newsSite = new NewsSite(); $form = $this->createForm(NewsSiteType::class, $newsSite); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($newsSite); $entityManager->flush(); @@ -44,13 +38,11 @@ public function new(Request $request): Response return $this->render('news_site/new.html.twig', [ 'news_site' => $newsSite, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="news_site_show", methods={"GET"}) - */ + #[Route(path: '/{id}', name: 'news_site_show', methods: ['GET'])] public function show(NewsSite $newsSite): Response { return $this->render('news_site/show.html.twig', [ @@ -58,33 +50,28 @@ public function show(NewsSite $newsSite): Response ]); } - /** - * @Route("/{id}/edit", name="news_site_edit", methods={"GET","POST"}) - */ - public function edit(Request $request, NewsSite $newsSite): Response + #[Route(path: '/{id}/edit', name: 'news_site_edit', methods: ['GET', 'POST'])] + public function edit(Request $request, NewsSite $newsSite, EntityManagerInterface $entityManager): Response { $form = $this->createForm(NewsSiteType::class, $newsSite); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $this->getDoctrine()->getManager()->flush(); + $entityManager->flush(); return $this->redirectToRoute('news_site_index'); } return $this->render('news_site/edit.html.twig', [ 'news_site' => $newsSite, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="news_site_delete", methods={"POST"}) - */ - public function delete(Request $request, NewsSite $newsSite): Response + #[Route(path: '/{id}', name: 'news_site_delete', methods: ['POST'])] + public function delete(Request $request, NewsSite $newsSite, EntityManagerInterface $entityManager): Response { if ($this->isCsrfTokenValid('delete'.$newsSite->getId(), $request->request->get('_token'))) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->remove($newsSite); $entityManager->flush(); } diff --git a/src/Controller/PageIndexController.php b/src/Controller/PageIndexController.php index 0cea7e08..3875d019 100755 --- a/src/Controller/PageIndexController.php +++ b/src/Controller/PageIndexController.php @@ -5,19 +5,16 @@ use App\Entity\PageIndex; use App\Form\PageIndexType; use App\Repository\PageIndexRepository; +use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/page/index") - */ +#[Route(path: '/page/index')] class PageIndexController extends AbstractController { - /** - * @Route("/", name="page_index_index", methods={"GET"}) - */ + #[Route(path: '/', name: 'page_index_index', methods: ['GET'])] public function index(PageIndexRepository $pageIndexRepository): Response { return $this->render('page_index/index.html.twig', [ @@ -25,17 +22,14 @@ public function index(PageIndexRepository $pageIndexRepository): Response ]); } - /** - * @Route("/new", name="page_index_new", methods={"GET","POST"}) - */ - public function new(Request $request): Response + #[Route(path: '/new', name: 'page_index_new', methods: ['GET', 'POST'])] + public function new(Request $request, EntityManagerInterface $entityManager): Response { $pageIndex = new PageIndex(); $form = $this->createForm(PageIndexType::class, $pageIndex); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($pageIndex); $entityManager->flush(); @@ -44,13 +38,11 @@ public function new(Request $request): Response return $this->render('page_index/new.html.twig', [ 'page_index' => $pageIndex, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="page_index_show", methods={"GET"}) - */ + #[Route(path: '/{id}', name: 'page_index_show', methods: ['GET'])] public function show(PageIndex $pageIndex): Response { return $this->render('page_index/show.html.twig', [ @@ -58,33 +50,28 @@ public function show(PageIndex $pageIndex): Response ]); } - /** - * @Route("/{id}/edit", name="page_index_edit", methods={"GET","POST"}) - */ - public function edit(Request $request, PageIndex $pageIndex): Response + #[Route(path: '/{id}/edit', name: 'page_index_edit', methods: ['GET', 'POST'])] + public function edit(Request $request, PageIndex $pageIndex, EntityManagerInterface $entityManager): Response { $form = $this->createForm(PageIndexType::class, $pageIndex); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $this->getDoctrine()->getManager()->flush(); + $entityManager->flush(); return $this->redirectToRoute('page_index_index'); } return $this->render('page_index/edit.html.twig', [ 'page_index' => $pageIndex, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="page_index_delete", methods={"DELETE"}) - */ - public function delete(Request $request, PageIndex $pageIndex): Response + #[Route(path: '/{id}', name: 'page_index_delete', methods: ['DELETE'])] + public function delete(Request $request, PageIndex $pageIndex, EntityManagerInterface $entityManager): Response { if ($this->isCsrfTokenValid('delete'.$pageIndex->getId(), $request->request->get('_token'))) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->remove($pageIndex); $entityManager->flush(); } diff --git a/src/Controller/PerfilController.php b/src/Controller/PerfilController.php index a55ce3c2..28a4a31d 100755 --- a/src/Controller/PerfilController.php +++ b/src/Controller/PerfilController.php @@ -7,27 +7,20 @@ use App\Repository\IndexAlamedaRepository; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; -use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface; +use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Security\Http\Authentication\AuthenticationUtils; /** - * @IsGranted("ROLE_USER") - * * @method User|null getUser() */ +#[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_USER')] class PerfilController extends BaseController { - /** - * @Route("web/perfil", name="app_perfil") - * - * @param IndexAlamedaRepository $indexAlamedaRepository - * @return Response - */ + #[Route(path: 'web/perfil', name: 'app_perfil')] public function index(IndexAlamedaRepository $indexAlamedaRepository): Response { return $this->render('perfil/perfil_index.html.twig', [ @@ -35,9 +28,7 @@ public function index(IndexAlamedaRepository $indexAlamedaRepository): Response ]); } - /** - * @Route("/api/perfil", name="api_perfil") - */ + #[Route(path: '/api/perfil', name: 'api_perfil')] public function apiPerfil(): JsonResponse { $user = $this->getUser(); @@ -47,30 +38,26 @@ public function apiPerfil(): JsonResponse ]); } - /** - * @Route("/web/cambiopassword/{email}", name="app_changepassword") - * @param Request $request - * @param User $user - * @param UserPasswordHasherInterface $passwordEncoder - * @param AuthenticationUtils $authenticationUtils - * @return Response - */ - public function changePassword(Request $request, User $user, UserPasswordHasherInterface $passwordEncoder, AuthenticationUtils $authenticationUtils): Response + #[Route(path: '/web/cambiopassword/{email}', name: 'app_changepassword')] + public function changePassword( + Request $request, User $user, + UserPasswordHasherInterface $userPasswordHasher, + AuthenticationUtils $authenticationUtils): Response { $form = $this->createForm(ChangePasswordType::class, $user); $form->handleRequest($request); - if($form->isSubmitted() && $form->isValid()){ + if ($form->isSubmitted() && $form->isValid()) { /** @var User $user */ $password = $form['password']->getData(); $user->setPassword( - $passwordEncoder->hashPassword($user, $password) + $userPasswordHasher->hashPassword($user, $password) ); try { $em = $this->container->get('doctrine')->getManager(); $em->persist($user); $em->flush(); - } catch (NotFoundExceptionInterface|ContainerExceptionInterface $e) { + } catch (NotFoundExceptionInterface|ContainerExceptionInterface) { } $error = $authenticationUtils->getLastAuthenticationError(); @@ -82,9 +69,9 @@ public function changePassword(Request $request, User $user, UserPasswordHasherI ]); } - return $this->render('security/change-password.html.twig',[ + return $this->render('security/change-password.html.twig', [ 'user' => $user, - 'form'=>$form->createView() + 'form' => $form, ]); } } diff --git a/src/Controller/PrincipalController.php b/src/Controller/PrincipalController.php index a2f6063b..b47415ed 100755 --- a/src/Controller/PrincipalController.php +++ b/src/Controller/PrincipalController.php @@ -8,71 +8,50 @@ use App\Repository\PrincipalRepository; use App\Repository\SectionRepository; use App\Service\UploaderHelper; -use DateTime; use Doctrine\ORM\EntityManagerInterface; -use Exception; use Knp\Component\Pager\PaginatorInterface; -use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted; use Symfony\Component\HttpFoundation\File\UploadedFile; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpFoundation\Session\SessionInterface; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/admin/principal") - */ +#[Route(path: '/admin/principal')] class PrincipalController extends BaseController { - - private $session; - - /** - * @param SessionInterface $session - */ - public function __construct(SessionInterface $session) + public function __construct(private readonly RequestStack $requestStack) { - $this->session = $session; } - /** - * @Route("/", name="principal_index", methods={"GET"}) - * @param PrincipalRepository $principalRepository - * @param PaginatorInterface $paginator - * @param Request $request - * @return Response - * @IsGranted("ROLE_ADMIN") - */ + #[Route(path: '/', name: 'principal_index', methods: ['GET'])] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_ADMIN')] public function index(PrincipalRepository $principalRepository, PaginatorInterface $paginator, Request $request): Response { $bus = $request->get('busq'); $queryPrincipales = $principalRepository->queryFindAllPrincipals($bus); $principales = $paginator->paginate( $queryPrincipales, /* query NOT result */ - $request->query->getInt('page', 1)/*page number*/, - 15/*limit per page*/ + $request->query->getInt('page', 1)/* page number */, + 15/* limit per page */ ); + return $this->render('principal/index.html.twig', [ 'principals' => $principales, ]); } /** - * @Route("/new", name="principal_new", methods={"GET","POST"}) - * @param Request $request - * @param UploaderHelper $uploaderHelper - * @return Response - * @IsGranted("ROLE_ADMIN") - * @throws Exception + * @throws \Exception */ - public function new(Request $request, UploaderHelper $uploaderHelper): Response + #[Route(path: '/new', name: 'principal_new', methods: ['GET', 'POST'])] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_ADMIN')] + public function new(Request $request, UploaderHelper $uploaderHelper, EntityManagerInterface $entityManager): Response { - $principal = new Principal(); $user = $this->getUser(); - $ahora = new DateTime('now'); + $ahora = new \DateTime('now'); $principal->setAutor($user); $principal->setCreatedAt($ahora); $principal->setUpdatedAt($ahora); @@ -80,7 +59,6 @@ public function new(Request $request, UploaderHelper $uploaderHelper): Response $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - /** @var Principal $principal */ $principal = $form->getData(); @@ -92,12 +70,11 @@ public function new(Request $request, UploaderHelper $uploaderHelper): Response $newFilename = $uploaderHelper->uploadEntradaImage($uploadedFile, false); $principal->setImageFilename($newFilename); } - if($principal->getLinkRoute() != null){ + if (null != $principal->getLinkRoute()) { $principal->setLinkRoute($principal->getLinkRoute()); - }else{ + } else { $principal->setLinkRoute($principal->getTitulo()); } - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($principal); $entityManager->flush(); @@ -106,25 +83,20 @@ public function new(Request $request, UploaderHelper $uploaderHelper): Response return $this->render('principal/new.html.twig', [ 'principal' => $principal, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/new-for-assistant", name="principal_new_assistant", methods={"GET","POST"}) - * @param Request $request - * @param UploaderHelper $uploaderHelper - * @return Response - * @IsGranted("ROLE_ADMIN") - * @throws Exception + * @throws \Exception */ - public function newAssistant(Request $request, UploaderHelper $uploaderHelper): Response + #[Route(path: '/new-for-assistant', name: 'principal_new_assistant', methods: ['GET', 'POST'])] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_ADMIN')] + public function newAssistant(Request $request, UploaderHelper $uploaderHelper, EntityManagerInterface $entityManager): Response { - $principal = new Principal(); $user = $this->getUser(); - $ahora = new DateTime('now'); + $ahora = new \DateTime('now'); $principal->setAutor($user); $principal->setCreatedAt($ahora); $principal->setUpdatedAt($ahora); @@ -132,7 +104,6 @@ public function newAssistant(Request $request, UploaderHelper $uploaderHelper): $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - /** @var Principal $principal */ $principal = $form->getData(); @@ -144,12 +115,11 @@ public function newAssistant(Request $request, UploaderHelper $uploaderHelper): $newFilename = $uploaderHelper->uploadEntradaImage($uploadedFile, false); $principal->setImageFilename($newFilename); } - if($principal->getLinkRoute() != null){ + if (null != $principal->getLinkRoute()) { $principal->setLinkRoute($principal->getLinkRoute()); - }else{ + } else { $principal->setLinkRoute($principal->getTitulo()); } - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($principal); $entityManager->flush(); @@ -158,27 +128,22 @@ public function newAssistant(Request $request, UploaderHelper $uploaderHelper): return $this->render('principal/newAssistant.html.twig', [ 'principal' => $principal, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}/edit", name="principal_edit", methods={"GET","POST"}) - * @param Request $request - * @param Principal $principal - * @param UploaderHelper $uploaderHelper - * @return Response - * @throws Exception - * @IsGranted("ROLE_ADMIN") + * @throws \Exception */ - public function edit(Request $request, Principal $principal, UploaderHelper $uploaderHelper): Response + #[Route(path: '/{id}/edit', name: 'principal_edit', methods: ['GET', 'POST'])] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_ADMIN')] + public function edit(Request $request, Principal $principal, UploaderHelper $uploaderHelper, + EntityManagerInterface $entityManager): Response { $form = $this->createForm(PrincipalType::class, $principal); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - /** @var UploadedFile $uploadedFile */ $uploadedFile = $form['imageFile']->getData(); $linkRoute = $form['linkRoute']->getData(); @@ -187,54 +152,42 @@ public function edit(Request $request, Principal $principal, UploaderHelper $upl $principal->setImageFilename($newFilename); } - - if($linkRoute){ + if ($linkRoute) { $principal->setLinkRoute($linkRoute); - }else{ + } else { $principal->setLinkRoute($principal->getTitulo()); } - - $this->getDoctrine()->getManager()->flush(); + $entityManager->flush(); return $this->redirectToRoute('admin'); } return $this->render('principal/edit.html.twig', [ 'principal' => $principal, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}/show", name="principal_show", methods={"GET"}) - * @param Principal $principal - * @param PrincipalRepository $repository - * @return Response - */ + #[Route(path: '/{id}/show', name: 'principal_show', methods: ['GET'])] public function show(Principal $principal, PrincipalRepository $repository): Response { $brotes = $repository->findByPrincipalParent($principal); - if(!$brotes){ + if (!$brotes) { $brotes = null; } + return $this->render('principal/show.html.twig', [ 'principal' => $principal, - 'brotes' => $brotes + 'brotes' => $brotes, ]); } - /** - * @Route("/{id}", name="principal_delete", methods={"DELETE"}) - * @param Request $request - * @param Principal $principal - * @return Response - * @IsGranted("ROLE_ADMIN") - */ - public function delete(Request $request, Principal $principal): Response + #[Route(path: '/{id}', name: 'principal_delete', methods: ['DELETE'])] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_ADMIN')] + public function delete(Request $request, Principal $principal, EntityManagerInterface $entityManager): Response { if ($this->isCsrfTokenValid('delete'.$principal->getId(), $request->request->get('_token'))) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->remove($principal); $entityManager->flush(); } @@ -242,11 +195,7 @@ public function delete(Request $request, Principal $principal): Response return $this->redirectToRoute('principal_index'); } - /** - * @Route("/section/{id}", methods="GET", name="admin_principal_list_section") - * @param Principal $principal - * @return JsonResponse - */ + #[Route(path: '/section/{id}', methods: 'GET', name: 'admin_principal_list_section')] public function getSectionPrincipal(Principal $principal): JsonResponse { return $this->json( @@ -254,36 +203,30 @@ public function getSectionPrincipal(Principal $principal): JsonResponse 200, [], [ - 'groups' => ['main'] + 'groups' => ['main'], ] ); } /** - * @Route("/agregarSeccion/{id}", name="principal_agregar_seccion", methods={"GET", "POST"}) - * @param Request $request - * @param Principal $principal - * @param EntityManagerInterface $entityManager - * @param SectionRepository $sectionRepository - * @param PrincipalRepository $principalRepository * @return RedirectResponse|Response */ + #[Route(path: '/agregarSeccion/{id}', name: 'principal_agregar_seccion', methods: ['GET', 'POST'])] public function agregarSeccion(Request $request, Principal $principal, EntityManagerInterface $entityManager, SectionRepository $sectionRepository, PrincipalRepository $principalRepository) { $form = $this->createForm(SectionAddType::class); $form->handleRequest($request); - $this->session->set('principal_id', $principal->getId()); + $this->requestStack->getSession()->set('principal_id', $principal->getId()); if ($form->isSubmitted() && $form->isValid()) { - $id_section = $form->get('section')->getData(); $seccion = $sectionRepository->find($id_section); $principal->addSeccione($seccion); $entityManager->persist($principal); $entityManager->flush(); - if($this->session->get('principal_id')){ - $this->session->remove('principal_id'); + if ($this->requestStack->getSession()->get('principal_id')) { + $this->requestStack->getSession()->remove('principal_id'); } return $this->redirectToRoute('principal_show', [ @@ -293,8 +236,7 @@ public function agregarSeccion(Request $request, Principal $principal, EntityMan return $this->render('principal/vistaAgregaSection.html.twig', [ 'principal' => $principal, - 'form' => $form->createView(), + 'form' => $form, ]); - } } diff --git a/src/Controller/RSSController.php b/src/Controller/RSSController.php index e34792c1..355cbdb6 100644 --- a/src/Controller/RSSController.php +++ b/src/Controller/RSSController.php @@ -10,33 +10,22 @@ class RSSController extends AbstractController { - /** - * @var string - */ - private $site_podcasts; - /** * RSSController constructor. - * @param string $site_podcasts */ - public function __construct(string $site_podcasts) + public function __construct(private readonly string $site_podcasts) { - $this->site_podcasts = $site_podcasts; } - /** - * @Route("/rss", name="rss-feed") - * @param ChannelFeedRepository $channelFeedRepository - * @return Response - */ + #[Route(path: '/rss', name: 'rss-feed')] public function rss(ChannelFeedRepository $channelFeedRepository): Response { - $channels = $channelFeedRepository->findFirst(); $response = new Response(); - $response->headers->set("Content-type", "text/xml"); + $response->headers->set('Content-type', 'text/xml'); $response->setContent(Xml::generate($channels, $this->site_podcasts)); + return $response; } } diff --git a/src/Controller/RelacionSectionEntradaController.php b/src/Controller/RelacionSectionEntradaController.php index 800b63db..e242c11f 100644 --- a/src/Controller/RelacionSectionEntradaController.php +++ b/src/Controller/RelacionSectionEntradaController.php @@ -5,19 +5,16 @@ use App\Entity\RelacionSectionEntrada; use App\Form\RelacionSectionEntradaType; use App\Repository\RelacionSectionEntradaRepository; +use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/relacion/section/entrada") - */ +#[Route(path: '/relacion/section/entrada')] class RelacionSectionEntradaController extends AbstractController { - /** - * @Route("/", name="relacion_section_entrada_index", methods={"GET"}) - */ + #[Route(path: '/', name: 'relacion_section_entrada_index', methods: ['GET'])] public function index(RelacionSectionEntradaRepository $relacionSectionEntradaRepository): Response { return $this->render('relacion_section_entrada/index.html.twig', [ @@ -25,17 +22,14 @@ public function index(RelacionSectionEntradaRepository $relacionSectionEntradaRe ]); } - /** - * @Route("/new", name="relacion_section_entrada_new", methods={"GET","POST"}) - */ - public function new(Request $request): Response + #[Route(path: '/new', name: 'relacion_section_entrada_new', methods: ['GET', 'POST'])] + public function new(Request $request, EntityManagerInterface $entityManager): Response { $relacionSectionEntrada = new RelacionSectionEntrada(); $form = $this->createForm(RelacionSectionEntradaType::class, $relacionSectionEntrada); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($relacionSectionEntrada); $entityManager->flush(); @@ -44,13 +38,11 @@ public function new(Request $request): Response return $this->render('relacion_section_entrada/new.html.twig', [ 'relacion_section_entrada' => $relacionSectionEntrada, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="relacion_section_entrada_show", methods={"GET"}) - */ + #[Route(path: '/{id}', name: 'relacion_section_entrada_show', methods: ['GET'])] public function show(RelacionSectionEntrada $relacionSectionEntrada): Response { return $this->render('relacion_section_entrada/show.html.twig', [ @@ -58,33 +50,28 @@ public function show(RelacionSectionEntrada $relacionSectionEntrada): Response ]); } - /** - * @Route("/{id}/edit", name="relacion_section_entrada_edit", methods={"GET","POST"}) - */ - public function edit(Request $request, RelacionSectionEntrada $relacionSectionEntrada): Response + #[Route(path: '/{id}/edit', name: 'relacion_section_entrada_edit', methods: ['GET', 'POST'])] + public function edit(Request $request, RelacionSectionEntrada $relacionSectionEntrada, EntityManagerInterface $entityManager): Response { $form = $this->createForm(RelacionSectionEntradaType::class, $relacionSectionEntrada); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $this->getDoctrine()->getManager()->flush(); + $entityManager->flush(); return $this->redirectToRoute('relacion_section_entrada_index'); } return $this->render('relacion_section_entrada/edit.html.twig', [ 'relacion_section_entrada' => $relacionSectionEntrada, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="relacion_section_entrada_delete", methods={"DELETE"}) - */ - public function delete(Request $request, RelacionSectionEntrada $relacionSectionEntrada): Response + #[Route(path: '/{id}', name: 'relacion_section_entrada_delete', methods: ['DELETE'])] + public function delete(Request $request, RelacionSectionEntrada $relacionSectionEntrada, EntityManagerInterface $entityManager): Response { if ($this->isCsrfTokenValid('delete'.$relacionSectionEntrada->getId(), $request->request->get('_token'))) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->remove($relacionSectionEntrada); $entityManager->flush(); } diff --git a/src/Controller/ReservaController.php b/src/Controller/ReservaController.php index cc9394bd..87b25854 100644 --- a/src/Controller/ReservaController.php +++ b/src/Controller/ReservaController.php @@ -25,55 +25,42 @@ use Symfony\Component\Mailer\Exception\TransportExceptionInterface; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/reserva") - */ +#[Route(path: '/reserva')] class ReservaController extends AbstractController { - /** - * @Route("/ver", name="reserva_index") - * @param CelebracionRepository $celebracionRepository - * @param GroupCelebrationRepository $groupCelebrationRepository - * @return Response - */ + #[Route(path: '/ver', name: 'reserva_index')] public function index(CelebracionRepository $celebracionRepository, GroupCelebrationRepository $groupCelebrationRepository): Response { - $grupos = $groupCelebrationRepository->puedeMostrarse()->getQuery()->getResult(); if (!$grupos) { $grupos = null; } + return $this->render('reserva/index.html.twig', [ 'celebraciones' => $celebracionRepository->puedeMostrarse()->getQuery()->getResult(), - 'grupos' => $grupos + 'grupos' => $grupos, ]); } - /** - * @Route("/creaReserva/{id}", name="crea_reserva" ) - * @param Celebracion $celebracion - * @param Request $request - * @param EntityManagerInterface $em - * @param Mailer $mailer - * @return Response * @throws TransportExceptionInterface */ + #[Route(path: '/creaReserva/{id}', name: 'crea_reserva')] public function creaReserva(Celebracion $celebracion, Request $request, EntityManagerInterface $em, Mailer $mailer): Response { $reservante = new Reservante(); $reservante->setCelebracion($celebracion); $form = $this->createForm(ReservanteType::class, $reservante, [ - 'attr' => ['id' => 'formReserva'] + 'attr' => ['id' => 'formReserva'], ]); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $reservado = $em->getRepository(Reservante::class)->findOneByReserva($celebracion->getId(), $reservante->getEmail()); if ($reservado) { $this->addFlash('success', 'Ya se encuentra una reservación para esta celebracion y con ese mail'); + return $this->redirectToRoute('reserva_index'); } @@ -92,7 +79,7 @@ public function creaReserva(Celebracion $celebracion, Request $request, EntityMa $invitados = $form['acompanantes']->getData(); if ($invitados > 0) { - for ($i = 0; $i < $invitados; $i++) { + for ($i = 0; $i < $invitados; ++$i) { $invitadoplus = new Invitado(); $invitadoplus->setCelebracion($celebracion); $invitadoplus->setEnlace($reservante); @@ -115,42 +102,35 @@ public function creaReserva(Celebracion $celebracion, Request $request, EntityMa $nombre = 'email'; $arrayDato = [ - $reservante->getEmail() + $reservante->getEmail(), ]; $arrayDatos = json_encode($arrayDato); $nombre2 = 'celebracion'; $arrayDato2 = [ - $reservante->getCelebracion()->getFechaCelebracionAt() + $reservante->getCelebracion()->getFechaCelebracionAt(), ]; $arrayDatos2 = json_encode($arrayDato2); - $response->headers->setCookie(new Cookie($nombre, $arrayDatos, $time2)); - $response->headers->setCookie(new Cookie($nombre2, $arrayDatos2, $time2)); + $response->headers->setCookie(Cookie::create($nombre, $arrayDatos, $time2)); + $response->headers->setCookie(Cookie::create($nombre2, $arrayDatos2, $time2)); $response->sendHeaders(); return $this->redirectToRoute('vista_reserva', [ 'celebracion' => $reservante->getCelebracion()->getId(), 'email' => $reservante->getEmail(), ]); - } return $this->render('reserva/vistaCreaReserva.html.twig', [ 'celebracion' => $celebracion, - 'form' => $form->createView(), + 'form' => $form, ]); - } - - /** - * @Route("/agregaInvitado/{id}", name="agrega_invitado", methods={"GET", "POST"}) - * @param Reservante $reservante - * @param Request $request - * @return Response - */ - public function agregaInvitado(Reservante $reservante, Request $request): Response + #[Route(path: '/agregaInvitado/{id}', name: 'agrega_invitado', methods: ['GET', 'POST'])] + public function agregaInvitado(Reservante $reservante, Request $request, + EntityManagerInterface $entityManager): Response { $invitado = new Invitado(); $invitado->setCelebracion($reservante->getCelebracion()); @@ -159,15 +139,15 @@ public function agregaInvitado(Reservante $reservante, Request $request): Respon $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $entityManager = $this->getDoctrine()->getManager(); $email = $form['email']->getData(); $invitado_existente = $entityManager->getRepository(Invitado::class)->findOneByCelebracionEmail($reservante->getCelebracion()->getId(), $email); if ($invitado_existente) { $this->addFlash('success', 'Ya se encuentra una reservación para esta celebracion y con ese mail'); + return $this->redirectToRoute('agrega_invitado', [ - 'id' => $reservante->getId() + 'id' => $reservante->getId(), ]); } @@ -176,43 +156,30 @@ public function agregaInvitado(Reservante $reservante, Request $request): Respon return $this->redirectToRoute('vista_reserva', [ 'celebracion' => $invitado->getCelebracion()->getId(), - 'email' => $invitado->getEnlace()->getEmail() + 'email' => $invitado->getEnlace()->getEmail(), ]); } return $this->render('reserva/newInvitado.html.twig', [ 'invitado' => $invitado, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/vistaReserva/{celebracion}/{email}", name="vista_reserva") - * @param ReservanteRepository $reservanteRepository - * @param string $celebracion - * @param string $email - * @return Response - */ + #[Route(path: '/vistaReserva/{celebracion}/{email}', name: 'vista_reserva')] public function vistaReserva(ReservanteRepository $reservanteRepository, string $celebracion, string $email): Response { $reservante = $reservanteRepository->findOneByReserva($celebracion, $email); return $this->render('reserva/reservante.html.twig', [ - 'reservante' => $reservante + 'reservante' => $reservante, ]); } - /** - * @Route("/vistaReserva/{celebracion}/{email}/presente", name="vista_reserva_presente") - * @param ReservanteRepository $reservanteRepository - * @param string $celebracion - * @param string $email - * @param EntityManagerInterface $em - * @return Response - */ + #[Route(path: '/vistaReserva/{celebracion}/{email}/presente', name: 'vista_reserva_presente')] public function vistaReservaPresente(ReservanteRepository $reservanteRepository, string $celebracion, string $email, EntityManagerInterface $em): Response { - if ($this->isGranted("ROLE_RESERVA")) { + if ($this->isGranted('ROLE_RESERVA')) { $reservante = $reservanteRepository->findOneByReserva($celebracion, $email); $invitados = $reservante->getInvitados(); foreach ($invitados as $invitado) { @@ -224,150 +191,119 @@ public function vistaReservaPresente(ReservanteRepository $reservanteRepository, $em->flush(); return $this->render('reserva/reservante.html.twig', [ - 'reservante' => $reservante + 'reservante' => $reservante, ]); } else { return $this->redirectToRoute('admin'); } } - /** - * @Route("/vistaReservaInvitado/{invitado}/{email}", name="vista_reserva_invitado") - * @param InvitadoRepository $invitadoRepository - * @param string $invitado - * @return Response - */ + #[Route(path: '/vistaReservaInvitado/{invitado}/{email}', name: 'vista_reserva_invitado')] public function vistaReservaInvitado(InvitadoRepository $invitadoRepository, string $invitado): Response { $invitado = $invitadoRepository->find($invitado); + return $this->render('reserva/invitado.html.twig', [ - 'invitado' => $invitado + 'invitado' => $invitado, ]); } - /** - * @Route("/{id}/completa", name="invitado_completa", methods={"GET","POST"}) - * @param Request $request - * @param Invitado $invitado - * @param Mailer $mailer - * @return Response - */ - public function edit(Request $request, Invitado $invitado, Mailer $mailer): Response + #[Route(path: '/{id}/completa', name: 'invitado_completa', methods: ['GET', 'POST'])] + public function edit(Request $request, Invitado $invitado, Mailer $mailer, EntityManagerInterface $entityManager): Response { $form = $this->createForm(InvitadoType::class, $invitado); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - - $entityManager = $this->getDoctrine()->getManager(); $email = $form['email']->getData(); $existe = $entityManager->getRepository(Invitado::class)->findOneByCelebracionEmail($invitado->getCelebracion()->getId(), $email); if ($existe) { $this->addFlash('success', 'Ya se encuentra una reservación para esta celebracion y con ese mail'); + return $this->redirectToRoute('vista_reserva', [ 'celebracion' => $invitado->getCelebracion()->getId(), - 'email' => $invitado->getEnlace()->getEmail() + 'email' => $invitado->getEnlace()->getEmail(), ]); } - $this->getDoctrine()->getManager()->flush(); + $entityManager->flush(); - if ($invitado->getEmail() != null) { + if (null != $invitado->getEmail()) { $mailer->sendReservaInvitadoMessage($invitado); } $this->addFlash('success', 'Se ha guardado el cambio'); + return $this->redirectToRoute('vista_reserva', [ 'celebracion' => $invitado->getCelebracion()->getId(), - 'email' => $invitado->getEnlace()->getEmail() + 'email' => $invitado->getEnlace()->getEmail(), ]); } return $this->render('reserva/completaInvitado.html.twig', [ 'invitado' => $invitado, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}/completa_invitado", name="invitado_completa_self", methods={"GET","POST"}) - * @param Request $request - * @param Invitado $invitado - * @param Mailer $mailer - * @return Response - */ - public function editSelf(Request $request, Invitado $invitado, Mailer $mailer): Response + #[Route(path: '/{id}/completa_invitado', name: 'invitado_completa_self', methods: ['GET', 'POST'])] + public function editSelf(Request $request, Invitado $invitado, Mailer $mailer, + EntityManagerInterface $entityManager): Response { - $form = $this->createForm(InvitadoType::class, $invitado); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $this->getDoctrine()->getManager()->flush(); + $entityManager->flush(); $mailer->sendReservaInvitadoMessage($invitado); return $this->redirectToRoute('vista_reserva_invitado', [ 'invitado' => $invitado->getId(), - 'email' => $invitado->getEmail() + 'email' => $invitado->getEmail(), ]); } return $this->render('reserva/completaInvitadoSelf.html.twig', [ 'invitado' => $invitado, - 'form' => $form->createView(), + 'form' => $form, ]); } - - /** - * @Route("/consulta", name="reserva_consulta", methods={"GET","POST"}) - * @param Request $request - * @param ReservanteRepository $reservanteRepository - * @return Response - */ + #[Route(path: '/consulta', name: 'reserva_consulta', methods: ['GET', 'POST'])] public function consultaReserva(Request $request, ReservanteRepository $reservanteRepository): Response { - $form = $this->createForm(ReservaByEmailFilterType::class); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $celebracion = $form['celebracion']->getData(); $email = $form['email']->getData(); $reservante = $reservanteRepository->findOneByReserva($celebracion, $email); if (!$reservante) { $this->addFlash('info', 'No se encontró reserva'); + return $this->redirectToRoute('reserva_consulta'); } return $this->redirectToRoute('vista_reserva', [ 'celebracion' => $reservante->getCelebracion()->getId(), - 'email' => $reservante->getEmail() + 'email' => $reservante->getEmail(), ]); } return $this->render('reserva/consulta_reserva.html.twig', [ - 'form' => $form->createView(), + 'form' => $form, ]); } - - /** - * @Route("/{id}", name="reserva_delete", methods={"DELETE"}) - * @param Request $request - * @param Reservante $reservante - * @param EventDispatcherInterface $dispatcher - * @return Response - */ - public function delete(Request $request, Reservante $reservante, EventDispatcherInterface $dispatcher): Response + #[Route(path: '/{id}', name: 'reserva_delete', methods: ['DELETE'])] + public function delete(Request $request, Reservante $reservante, EventDispatcherInterface $dispatcher, + EntityManagerInterface $entityManager): Response { - if ($this->isCsrfTokenValid('delete' . $reservante->getId(), $request->request->get('_token'))) { - + if ($this->isCsrfTokenValid('delete'.$reservante->getId(), $request->request->get('_token'))) { $celebracion = $reservante->getCelebracion(); - $entityManager = $this->getDoctrine()->getManager(); $invitados = $reservante->getInvitados(); foreach ($invitados as $invitado) { @@ -384,61 +320,46 @@ public function delete(Request $request, Reservante $reservante, EventDispatcher $response = new Response(); $response->headers->clearCookie('email'); $response->headers->removeCookie('email'); - - } return $this->redirectToRoute('reserva_index'); } - - /** - * @Route("/cancela/{id}/invitado", name="cancela_invitado", methods={"GET"}) - * @param Invitado $invitado - * @return Response - */ - public function cancelaReserva(Invitado $invitado): Response + #[Route(path: '/cancela/{id}/invitado', name: 'cancela_invitado', methods: ['GET'])] + public function cancelaReserva(Invitado $invitado, EntityManagerInterface $entityManager): Response { $celebracion = $invitado->getCelebracion()->getId(); $email = $invitado->getEnlace()->getEmail(); - $entityManager = $this->getDoctrine()->getManager(); $entityManager->remove($invitado); $entityManager->flush(); $this->addFlash('success', 'Se canceló reserva.'); - return $this->redirectToRoute('vista_reserva', [ 'celebracion' => $celebracion, - 'email' => $email + 'email' => $email, ]); } - /** - * @Route("/avisarme/{celebracion}", name="add_to_waiting_list") - * @param Celebracion $celebracion - * @param Request $request - * @param EntityManagerInterface $em - * @param Mailer $mailer - * @return Response * @throws TransportExceptionInterface */ + #[Route(path: '/avisarme/{celebracion}', name: 'add_to_waiting_list')] public function addToWaitingList(Celebracion $celebracion, Request $request, EntityManagerInterface $em, Mailer $mailer): Response { $espera = new WaitingList(); $espera->setCelebracion($celebracion); $form = $this->createForm(AvisoType::class, $espera, [ - 'attr' => ['id' => 'formAviso'] + 'attr' => ['id' => 'formAviso'], ]); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $reservado = $em->getRepository(Reservante::class)->findOneByReserva($celebracion->getId(), $espera->getEmail()); if ($reservado) { $this->addFlash('success', 'Ya se encuentra una reservación para esta celebracion y con ese mail'); + return $this->redirectToRoute('reserva_index'); } @@ -446,13 +367,14 @@ public function addToWaitingList(Celebracion $celebracion, Request $request, Ent $em->flush(); $mailer->sendAvisoRegistroReservaMessage($espera); $this->addFlash('success', 'Se ha guardado su registro'); + return $this->redirectToRoute('reserva_index', [ ]); } return $this->render('reserva/vistaAvisoReserva.html.twig', [ 'celebracion' => $celebracion, - 'form' => $form->createView(), + 'form' => $form, ]); } } diff --git a/src/Controller/ReservanteController.php b/src/Controller/ReservanteController.php index 42f6677a..706ab075 100644 --- a/src/Controller/ReservanteController.php +++ b/src/Controller/ReservanteController.php @@ -6,23 +6,17 @@ use App\Form\Filter\ReservaByEmailFilterType; use App\Form\ReservanteType; use App\Repository\ReservanteRepository; -use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted; +use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/admin/reservante") - * @IsGranted("ROLE_RESERVA") - */ +#[Route(path: '/admin/reservante')] +#[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_RESERVA')] class ReservanteController extends AbstractController { - /** - * @Route("/", name="reservante_index", methods={"GET"}) - * @param ReservanteRepository $reservanteRepository - * @return Response - */ + #[Route(path: '/', name: 'reservante_index', methods: ['GET'])] public function index(ReservanteRepository $reservanteRepository): Response { return $this->render('reservante/index.html.twig', [ @@ -30,53 +24,42 @@ public function index(ReservanteRepository $reservanteRepository): Response ]); } - /** - * @Route("/lectura", name="reserva_lectura", methods={"GET","POST"}) - * @param Request $request - * @param ReservanteRepository $reservanteRepository - * @return Response - */ - public function consultaReserva(Request $request, ReservanteRepository $reservanteRepository): Response + #[Route(path: '/lectura', name: 'reserva_lectura', methods: ['GET', 'POST'])] + public function consultaReserva(Request $request, ReservanteRepository $reservanteRepository, EntityManagerInterface $entityManager): Response { - $form = $this->createForm(ReservaByEmailFilterType::class); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $celebracion = $form['celebracion']->getData(); $email = $form['email']->getData(); $reservante = $reservanteRepository->findOneByReserva($celebracion, $email); if (!$reservante) { $this->addFlash('info', 'No se encontró reserva'); + return $this->redirectToRoute('reserva_consulta'); } return $this->redirectToRoute('vista_reserva', [ 'celebracion' => $reservante->getCelebracion()->getId(), - 'email' => $reservante->getEmail() + 'email' => $reservante->getEmail(), ]); } return $this->render('reserva/lectura_reserva.html.twig', [ - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/new", name="reservante_new", methods={"GET","POST"}) - * @param Request $request - * @return Response - */ - public function new(Request $request): Response + #[Route(path: '/new', name: 'reservante_new', methods: ['GET', 'POST'])] + public function new(Request $request, EntityManagerInterface $entityManager): Response { $reservante = new Reservante(); $form = $this->createForm(ReservanteType::class, $reservante); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($reservante); $entityManager->flush(); @@ -85,15 +68,11 @@ public function new(Request $request): Response return $this->render('reservante/new.html.twig', [ 'reservante' => $reservante, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="reservante_show", methods={"GET"}) - * @param Reservante $reservante - * @return Response - */ + #[Route(path: '/{id}', name: 'reservante_show', methods: ['GET'])] public function show(Reservante $reservante): Response { return $this->render('reservante/show.html.twig', [ @@ -101,39 +80,28 @@ public function show(Reservante $reservante): Response ]); } - /** - * @Route("/{id}/edit", name="reservante_edit", methods={"GET","POST"}) - * @param Request $request - * @param Reservante $reservante - * @return Response - */ - public function edit(Request $request, Reservante $reservante): Response + #[Route(path: '/{id}/edit', name: 'reservante_edit', methods: ['GET', 'POST'])] + public function edit(Request $request, Reservante $reservante, EntityManagerInterface $entityManager): Response { $form = $this->createForm(ReservanteType::class, $reservante); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $this->getDoctrine()->getManager()->flush(); + $entityManager->flush(); return $this->redirectToRoute('reservante_index'); } return $this->render('reservante/edit.html.twig', [ 'reservante' => $reservante, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="reservante_delete", methods={"DELETE"}) - * @param Request $request - * @param Reservante $reservante - * @return Response - */ - public function delete(Request $request, Reservante $reservante): Response + #[Route(path: '/{id}', name: 'reservante_delete', methods: ['DELETE'])] + public function delete(Request $request, Reservante $reservante, EntityManagerInterface $entityManager): Response { if ($this->isCsrfTokenValid('delete'.$reservante->getId(), $request->request->get('_token'))) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->remove($reservante); $entityManager->flush(); } diff --git a/src/Controller/ResetPasswordController.php b/src/Controller/ResetPasswordController.php index 05131fac..dfae185d 100644 --- a/src/Controller/ResetPasswordController.php +++ b/src/Controller/ResetPasswordController.php @@ -20,27 +20,19 @@ use SymfonyCasts\Bundle\ResetPassword\Exception\ResetPasswordExceptionInterface; use SymfonyCasts\Bundle\ResetPassword\ResetPasswordHelperInterface; -/** - * @Route("/admin/reset-password") - */ +#[Route(path: '/admin/reset-password')] class ResetPasswordController extends AbstractController { use ResetPasswordControllerTrait; - private ResetPasswordHelperInterface $resetPasswordHelper; - private EntityManagerInterface $entityManager; - - public function __construct(ResetPasswordHelperInterface $resetPasswordHelper, EntityManagerInterface $entityManager) + public function __construct(private readonly ResetPasswordHelperInterface $resetPasswordHelper, private readonly EntityManagerInterface $entityManager) { - $this->resetPasswordHelper = $resetPasswordHelper; - $this->entityManager = $entityManager; } /** * Display & process form to request a password reset. - * - * @Route("", name="app_forgot_password_request") */ + #[Route(path: '', name: 'app_forgot_password_request')] public function request(Request $request, MailerInterface $mailer, TranslatorInterface $translator): Response { $form = $this->createForm(ResetPasswordRequestFormType::class); @@ -55,15 +47,14 @@ public function request(Request $request, MailerInterface $mailer, TranslatorInt } return $this->render('reset_password/request.html.twig', [ - 'requestForm' => $form->createView(), + 'requestForm' => $form, ]); } /** * Confirmation page after a user has requested a password reset. - * - * @Route("/check-email", name="app_check_email") */ + #[Route(path: '/check-email', name: 'app_check_email')] public function checkEmail(): Response { // Generate a fake token if the user does not exist or someone hit this page directly. @@ -79,9 +70,8 @@ public function checkEmail(): Response /** * Validates and process the reset URL that the user clicked in their email. - * - * @Route("/reset/{token}", name="app_reset_password") */ + #[Route(path: '/reset/{token}', name: 'app_reset_password')] public function reset(Request $request, UserPasswordHasherInterface $userPasswordHasher, TranslatorInterface $translator, string $token = null): Response { if ($token) { @@ -133,7 +123,7 @@ public function reset(Request $request, UserPasswordHasherInterface $userPasswor } return $this->render('reset_password/reset.html.twig', [ - 'resetForm' => $form->createView(), + 'resetForm' => $form, ]); } @@ -150,7 +140,7 @@ private function processSendingPasswordResetEmail(string $emailFormData, MailerI try { $resetToken = $this->resetPasswordHelper->generateResetToken($user); - } catch (ResetPasswordExceptionInterface $e) { + } catch (ResetPasswordExceptionInterface) { // If you want to tell the user why a reset email was not sent, uncomment // the lines below and change the redirect to 'app_forgot_password_request'. // Caution: This may reveal if a user is registered or not. diff --git a/src/Controller/RolesController.php b/src/Controller/RolesController.php index e03af15c..89c470ed 100644 --- a/src/Controller/RolesController.php +++ b/src/Controller/RolesController.php @@ -5,21 +5,16 @@ use App\Entity\Roles; use App\Form\RolesType; use App\Repository\RolesRepository; +use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/admin/roles") - */ +#[Route(path: '/admin/roles')] class RolesController extends AbstractController { - /** - * @Route("/", name="roles_list", methods={"GET"}) - * @param RolesRepository $rolesRepository - * @return Response - */ + #[Route(path: '/', name: 'roles_list', methods: ['GET'])] public function list(RolesRepository $rolesRepository): Response { return $this->render('roles/list.html.twig', [ @@ -27,19 +22,14 @@ public function list(RolesRepository $rolesRepository): Response ]); } - /** - * @Route("/new", name="roles_new", methods={"GET","POST"}) - * @param Request $request - * @return Response - */ - public function new(Request $request): Response + #[Route(path: '/new', name: 'roles_new', methods: ['GET', 'POST'])] + public function new(Request $request, EntityManagerInterface $entityManager): Response { $role = new Roles(); $form = $this->createForm(RolesType::class, $role); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($role); $entityManager->flush(); @@ -48,15 +38,11 @@ public function new(Request $request): Response return $this->render('roles/new.html.twig', [ 'role' => $role, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="roles_show", methods={"GET"}) - * @param Roles $role - * @return Response - */ + #[Route(path: '/{id}', name: 'roles_show', methods: ['GET'])] public function show(Roles $role): Response { return $this->render('roles/show.html.twig', [ @@ -64,39 +50,28 @@ public function show(Roles $role): Response ]); } - /** - * @Route("/{id}/edit", name="roles_edit", methods={"GET","POST"}) - * @param Request $request - * @param Roles $role - * @return Response - */ - public function edit(Request $request, Roles $role): Response + #[Route(path: '/{id}/edit', name: 'roles_edit', methods: ['GET', 'POST'])] + public function edit(Request $request, Roles $role, EntityManagerInterface $entityManager): Response { $form = $this->createForm(RolesType::class, $role); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $this->getDoctrine()->getManager()->flush(); + $entityManager->flush(); return $this->redirectToRoute('roles_list'); } return $this->render('roles/edit.html.twig', [ 'role' => $role, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="roles_delete", methods={"DELETE"}) - * @param Request $request - * @param Roles $role - * @return Response - */ - public function delete(Request $request, Roles $role): Response + #[Route(path: '/{id}', name: 'roles_delete', methods: ['DELETE'])] + public function delete(Request $request, Roles $role, EntityManagerInterface $entityManager): Response { if ($this->isCsrfTokenValid('delete'.$role->getId(), $request->request->get('_token'))) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->remove($role); $entityManager->flush(); } diff --git a/src/Controller/SectionController.php b/src/Controller/SectionController.php index 6c66cd62..6d01abbd 100644 --- a/src/Controller/SectionController.php +++ b/src/Controller/SectionController.php @@ -14,21 +14,19 @@ use App\Repository\EntradaRepository; use App\Repository\ModelTemplateRepository; use App\Repository\SectionRepository; +use App\Repository\SourceApiRepository; use App\Service\Handler\SourceApi\HandlerSourceApi; use App\Service\UploaderHelper; use Doctrine\ORM\EntityManagerInterface; -use Doctrine\ORM\Query\QueryException; -use Exception; use Knp\Component\Pager\PaginatorInterface; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; -use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted; use Symfony\Component\HttpFoundation\File\UploadedFile; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpFoundation\Session\SessionInterface; use Symfony\Component\Routing\Annotation\Route; use Symfony\Contracts\HttpClient\Exception\ClientExceptionInterface; use Symfony\Contracts\HttpClient\Exception\DecodingExceptionInterface; @@ -37,33 +35,19 @@ use Symfony\Contracts\HttpClient\Exception\TransportExceptionInterface; /** - * Class SectionController - * @package App\Controller - * @Route("/admin/section") + * Class SectionController. */ +#[Route(path: '/admin/section')] class SectionController extends BaseController { - - private $session; - private $api; - /** * SectionController constructor. - * @param SessionInterface $session */ - public function __construct(SessionInterface $session, HandlerSourceApi $api) + public function __construct(private readonly RequestStack $requestStack, private readonly HandlerSourceApi $api) { - $this->session = $session; - $this->api = $api; } - /** - * @param SectionRepository $repository - * @param PaginatorInterface $paginator - * @param Request $request - * @return Response - * @Route("/", name="admin_section_list") - */ + #[Route(path: '/', name: 'admin_section_list')] public function list(SectionRepository $repository, PaginatorInterface $paginator, Request $request): Response { $bus = $request->get('busq'); @@ -71,8 +55,8 @@ public function list(SectionRepository $repository, PaginatorInterface $paginato $seccion = $repository->getSections($bus); $secciones = $paginator->paginate( $seccion, /* query NOT result */ - $request->query->getInt('page', 1)/*page number*/, - 20/*limit per page*/ + $request->query->getInt('page', 1)/* page number */, + 20/* limit per page */ ); return $this->render('admin/section_admin/list.html.twig', [ @@ -81,14 +65,10 @@ public function list(SectionRepository $repository, PaginatorInterface $paginato } /** - * @param EntityManagerInterface $em - * @param Request $request - * @param UploaderHelper $uploaderHelper - * @return Response - * @throws Exception - * @Route("/new", name="admin_section_new") - * @IsGranted("ROLE_EDITOR") + * @throws \Exception */ + #[Route(path: '/new', name: 'admin_section_new')] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_EDITOR')] public function new(EntityManagerInterface $em, Request $request, UploaderHelper $uploaderHelper): Response { $form = $this->createForm(SectionFormType::class); @@ -107,13 +87,13 @@ public function new(EntityManagerInterface $em, Request $request, UploaderHelper $section->setImageFilename($newFilename); } - if ($this->session->get('principal_id')) { - $principal_id = $this->session->get('principal_id'); + if ($this->requestStack->getSession()->get('principal_id')) { + $principal_id = $this->requestStack->getSession()->get('principal_id'); $principal = $em->getRepository(Principal::class)->find($principal_id); if ($principal) { $section->addPrincipale($principal); } - $this->session->remove('principal_id'); + $this->requestStack->getSession()->remove('principal_id'); } $em->persist($section); @@ -125,26 +105,21 @@ public function new(EntityManagerInterface $em, Request $request, UploaderHelper } return $this->render('admin/section_admin/new.html.twig', [ - 'sectionForm' => $form->createView(), + 'sectionForm' => $form, ]); } /** - * @Route("/{id}/edit", name="admin_section_edit", methods={"GET","POST"}) - * @param Request $request - * @param Section $section - * @param UploaderHelper $uploaderHelper - * @return Response - * @IsGranted("MANAGE", subject="section") - * @throws Exception + * @throws \Exception */ + #[Route(path: '/{id}/edit', name: 'admin_section_edit', methods: ['GET', 'POST'])] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('MANAGE', subject: 'section')] public function edit(Request $request, Section $section, UploaderHelper $uploaderHelper): Response { $form = $this->createForm(SectionFormType::class, $section); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - /** @var UploadedFile $uploadedFile */ $uploadedFile = $form['imageFile']->getData(); if ($uploadedFile) { @@ -158,108 +133,77 @@ public function edit(Request $request, Section $section, UploaderHelper $uploade return $this->render('admin/section_admin/edit.html.twig', [ 'section' => $section, - 'sectionForm' => $form->createView(), + 'sectionForm' => $form, ]); } - - /** - * @Route("/index/{id}", name="admin_index_delete_section", methods={"DELETE"}) - * @param Section $section - * @param EntityManagerInterface $entityManager - * @return Response - */ + #[Route(path: '/index/{id}', name: 'admin_index_delete_section', methods: ['DELETE'])] public function deleteIndexSection(Section $section, EntityManagerInterface $entityManager): Response { $indexAlameda = $section->getIndexAlamedas(); - $section->removeIndexAlameda($indexAlameda[0]); $entityManager->flush(); - return new Response(null, 204); + return new Response(null, Response::HTTP_NO_CONTENT); } - /** - * @Route("/entrada/{id}/{entrada}", name="admin_entrada_delete_section", methods={"DELETE"}) - * @param Section $section - * @param Entrada $entrada - * @param EntityManagerInterface $entityManager - * @return Response - */ + #[Route(path: '/entrada/{id}/{entrada}', name: 'admin_entrada_delete_section', methods: ['DELETE'])] public function deleteEntradaSection( Section $section, Entrada $entrada, EntityManagerInterface $entityManager ): Response { - $section->removeEntrada($entrada); $entityManager->flush(); - return new Response(null, 204); + return new Response(null, Response::HTTP_NO_CONTENT); } - /** - * @Route("/principal/{id}/{principal}", name="admin_principal_delete_section", methods={"DELETE"}) - * @param Section $section - * @param Principal $principal - * @param EntityManagerInterface $entityManager - * @return Response - */ + #[Route(path: '/principal/{id}/{principal}', name: 'admin_principal_delete_section', methods: ['DELETE'])] public function deletePrincipalSection( Section $section, Principal $principal, EntityManagerInterface $entityManager ): Response { - if ($principal->getSecciones() !== null) { + if (null !== $principal->getSecciones()) { $section->removePrincipale($principal); } $section->setPrincipal(null); $entityManager->flush(); - return new Response(null, 204); + return new Response(null, Response::HTTP_NO_CONTENT); } - /** - * @Route("/muestra/seccion/{id}") - * @param Section $section - * @param EntradaRepository $entradaRepository - * @return Response - */ - public function mostrarSection(Section $section, EntradaRepository $entradaRepository): Response + #[Route(path: '/muestra/seccion/{id}')] + public function mostrarSection(Section $section, EntradaRepository $entradaRepository, SourceApiRepository $sourceApiRepository): Response { $entradas = $entradaRepository->findAllEntradasBySeccion($section->getId()); - $twig = $section->getModelTemplate().".html.twig"; + $twig = $section->getModelTemplate().'.html.twig'; $response_api = null; $apiSource = null; - if ($twig == 'api.html.twig') { - + if ('api.html.twig' == $twig) { try { - $apiSource = $this->container->get('doctrine')->getRepository(SourceApi::class)->findBy([ - 'identifier' => $section->getIdentificador() + $apiSource = $sourceApiRepository->findBy([ + 'identifier' => $section->getIdentificador(), ]); - - } catch (NotFoundExceptionInterface|ContainerExceptionInterface $e) { + } catch (NotFoundExceptionInterface|ContainerExceptionInterface) { } if ($apiSource) { try { $response_api = $this->api->fetchSourceApi($apiSource[0])[0]; $response_api['source'] = $apiSource[0]->getBaseUri(); - - - } catch (ClientExceptionInterface|DecodingExceptionInterface|ServerExceptionInterface|TransportExceptionInterface|RedirectionExceptionInterface $e) { + } catch (ClientExceptionInterface|DecodingExceptionInterface|ServerExceptionInterface|TransportExceptionInterface|RedirectionExceptionInterface) { } } - } $model = 'models/sections/'.$twig; - return $this->render($model, [ 'entradas' => $entradas, 'section' => $section, @@ -267,11 +211,7 @@ public function mostrarSection(Section $section, EntradaRepository $entradaRepos ]); } - /** - * @Route("/{id}", name="admin_section_show", methods={"GET"}) - * @param Section $section - * @return Response - */ + #[Route(path: '/{id}', name: 'admin_section_show', methods: ['GET'])] public function show(Section $section): Response { return $this->render('admin/section_admin/show.html.twig', [ @@ -280,12 +220,10 @@ public function show(Section $section): Response } /** - * @Route("/new/step1", name="admin_section_new_step1", methods={"GET","POST"}) - * @param Request $request - * @return Response - * @throws Exception - * @IsGranted("ROLE_ESCRITOR") + * @throws \Exception */ + #[Route(path: '/new/step1', name: 'admin_section_new_step1', methods: ['GET', 'POST'])] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_ESCRITOR')] public function newStepOne(Request $request): Response { $section = new Section(); @@ -293,7 +231,6 @@ public function newStepOne(Request $request): Response $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $principal = $form['principal']->getData(); $section->addPrincipale($principal); $entityManager = $this->container->get('doctrine')->getManager(); @@ -307,18 +244,12 @@ public function newStepOne(Request $request): Response return $this->render('admin/section_admin/new_step1.html.twig', [ 'section' => $section, - 'sectionForm' => $form->createView(), + 'sectionForm' => $form, ]); } - /** - * @Route("/new/step2/{id}", name="admin_section_new_step2", methods={"GET","POST"}) - * @param Request $request - * @param Section $section - * @param ModelTemplateRepository $modelTemplateRepository - * @return Response - * @IsGranted("ROLE_ESCRITOR") - */ + #[Route(path: '/new/step2/{id}', name: 'admin_section_new_step2', methods: ['GET', 'POST'])] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_ESCRITOR')] public function newStepTwo( Request $request, Section $section, @@ -329,14 +260,13 @@ public function newStepTwo( $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - - $model_template_id = $this->session->get('model_template_id'); + $model_template_id = $this->requestStack->getSession()->get('model_template_id'); if ($model_template_id) { $model_template = $modelTemplateRepository->find($model_template_id); if ($model_template) { $section->setModelTemplate($model_template); } - $this->session->remove('model_template_id'); + $this->requestStack->getSession()->remove('model_template_id'); } $this->container->get('doctrine')->getManager()->flush(); @@ -347,17 +277,12 @@ public function newStepTwo( return $this->render('admin/section_admin/new_step2.html.twig', [ 'section' => $section, - 'sectionForm' => $form->createView(), + 'sectionForm' => $form, ]); } - /** - * @Route("/new/step3/{id}", name="admin_section_new_step3", methods={"GET","POST"}) - * @param Request $request - * @param Section $section - * @return Response - * @IsGranted("ROLE_ESCRITOR") - */ + #[Route(path: '/new/step3/{id}', name: 'admin_section_new_step3', methods: ['GET', 'POST'])] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_ESCRITOR')] public function newStepThree(Request $request, Section $section): Response { $section->setTitle($section->getName()); @@ -365,7 +290,6 @@ public function newStepThree(Request $request, Section $section): Response $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $this->container->get('doctrine')->getManager()->flush(); return $this->redirectToRoute('admin_section_show', [ @@ -375,34 +299,30 @@ public function newStepThree(Request $request, Section $section): Response return $this->render('admin/section_admin/new_step3.html.twig', [ 'section' => $section, - 'sectionForm' => $form->createView(), + 'sectionForm' => $form, ]); } - /** - * @Route("/test/api/{identifier}", name="admin_section_test_api", methods={"GET","POST"}) - * @param SourceApi $api - */ + #[Route(path: '/test/api/{identifier}', name: 'admin_section_test_api', methods: ['GET', 'POST'])] public function getDataSourceApi(SourceApi $api) { - return new JsonResponse($this->api->fetchSourceApi($api)); + return new JsonResponse($this->api->fetchSourceApi($api)); } /** - * La idea es agregar una entrada ya creada a una sección, falta el modal que selecciona la entrada - * @Route("/agregarEntrada/{id}", name="section_agregar_entrada", methods={"GET", "POST"}) - * @param Request $request + * La idea es agregar una entrada ya creada a una sección, falta el modal que selecciona la entrada. + * * @param Entrada $section - * @param SectionRepository $sectionRepository + * * @return RedirectResponse|Response */ + #[Route(path: '/agregarEntrada/{id}', name: 'section_agregar_entrada', methods: ['GET', 'POST'])] public function agregarSeccion(Request $request, Section $section, EntradaRepository $entradaRepository) { $form = $this->createForm(EntradaSectionType::class, $section); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $id_section = $form->get('section')->getData(); $seccion = $sectionRepository->find($id_section); $entrada->addSection($seccion); @@ -415,7 +335,7 @@ public function agregarSeccion(Request $request, Section $section, EntradaReposi return $this->render('admin/entrada/vistaAgregaSection.html.twig', [ 'index' => $entrada, - 'form' => $form->createView(), + 'form' => $form, ]); } } diff --git a/src/Controller/SecurityController.php b/src/Controller/SecurityController.php index 8b2280dc..14121e7e 100755 --- a/src/Controller/SecurityController.php +++ b/src/Controller/SecurityController.php @@ -2,7 +2,6 @@ namespace App\Controller; -use App\Entity\IndexAlameda; use App\Entity\User; use App\Form\Model\UserRegistrationFormModel; use App\Form\Model\VoluntarioReservaRegistrationFormModel; @@ -10,41 +9,25 @@ use App\Form\VoluntarioReservaRegistrationFormType; use App\Repository\UserRepository; use App\Security\LoginFormAuthenticator; +use Doctrine\ORM\EntityManagerInterface; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; +use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface; use Symfony\Component\Routing\Annotation\Route; -use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface; use Symfony\Component\Security\Guard\GuardAuthenticatorHandler; use Symfony\Component\Security\Http\Authentication\AuthenticationUtils; class SecurityController extends AbstractController { -// /** -// * @Route("/login", name="app_login") -// */ -// public function index() -// { -// $em = $this->getDoctrine()->getManager(); -// $indexAlameda = $em->getRepository(IndexAlameda::class)->findAll(); -// return $this->render('security/index.html.twig', [ -// 'datosIndex'=> $indexAlameda[0] -// -// ]); -// } - - /** - * @Route("/admin/ingreso", name="app_login") - * @param AuthenticationUtils $authenticationUtils - * @return Response - */ + #[Route(path: '/admin/ingreso', name: 'app_login')] public function login(AuthenticationUtils $authenticationUtils): Response { try { $em = $this->container->get('doctrine'); - } catch (NotFoundExceptionInterface|ContainerExceptionInterface $e) { + } catch (NotFoundExceptionInterface|ContainerExceptionInterface) { } $error = $authenticationUtils->getLastAuthenticationError(); $lastUsername = $authenticationUtils->getLastUsername(); @@ -55,24 +38,19 @@ public function login(AuthenticationUtils $authenticationUtils): Response ]); } - /** - * @Route("/admin/logout", name="app_logout") - */ - public function logout() + #[Route(path: '/admin/logout', name: 'app_logout')] + public function logout(): never { throw new \LogicException('This method can be blank - it will be intercepted by the logout key on your firewall.'); } /** - * @Route("/admin/registro", name="app_registro") - * - * @param Request $request - * @param UserPasswordEncoderInterface $passwordEncoder - * @param GuardAuthenticatorHandler $authenticatorHandler - * @param LoginFormAuthenticator $formAuthenticator * @return Response */ - public function register(Request $request, UserPasswordEncoderInterface $passwordEncoder, GuardAuthenticatorHandler $authenticatorHandler, LoginFormAuthenticator $formAuthenticator) + #[Route(path: '/admin/registro', name: 'app_registro')] + public function register(Request $request, UserPasswordHasherInterface $userPasswordHasher, + GuardAuthenticatorHandler $authenticatorHandler, LoginFormAuthenticator $formAuthenticator, + EntityManagerInterface $entityManager) { $form = $this->createForm(UserRegistrationFormType::class); $form->handleRequest($request); @@ -83,7 +61,7 @@ public function register(Request $request, UserPasswordEncoderInterface $passwor $user = new User(); $user->setEmail($userModel->email); $user->setPassword( - $passwordEncoder->encodePassword($user, $userModel->plainPassword) + $userPasswordHasher->hashPassword($user, $userModel->plainPassword) ); $user->setRoles(['ROLE_USER']); if ($form['roles']->getData()) { @@ -94,9 +72,9 @@ public function register(Request $request, UserPasswordEncoderInterface $passwor if (true === $userModel->aceptaTerminos) { $user->aceptaTerminos(); } - $em = $this->getDoctrine()->getManager(); - $em->persist($user); - $em->flush(); + + $entityManager->persist($user); + $entityManager->flush(); return $authenticatorHandler->authenticateUserAndHandleSuccess( $user, @@ -104,45 +82,21 @@ public function register(Request $request, UserPasswordEncoderInterface $passwor $formAuthenticator, 'main' ); - } - -// if ($request->isMethod('POST')) { -// $user = new User(); -// $user->setEmail($request->request->get('email')); -// $user->setPrimerNombre($request->request->get('primernombre')); -// $user->setPassword($passwordEncoder->encodePassword( -// $user, -// $request->request->get('password') -// )); -// $user->setRoles(['ROLE_USER']); -// $em = $this->getDoctrine()->getManager(); -// $em->persist($user); -// $em->flush(); -// -// return $authenticatorHandler->authenticateUserAndHandleSuccess( -// $user, -// $request, -// $formAuthenticator, -// 'main' -// ); -// } - return $this->render('security/register.html.twig', [ - 'regristroForm' => $form->createView() + 'regristroForm' => $form, ]); } /** - * @Route("/admin/registro_voluntario_reserva", name="app_registro_voluntario_reserva") - * - * @param Request $request - * @param UserPasswordEncoderInterface $passwordEncoder - * @param UserRepository $userRepository * @return Response */ - public function registerVoluntarioReserva(Request $request, UserPasswordEncoderInterface $passwordEncoder, UserRepository $userRepository) + #[Route(path: '/admin/registro_voluntario_reserva', name: 'app_registro_voluntario_reserva')] + public function registerVoluntarioReserva(Request $request, + UserPasswordHasherInterface $userPasswordHasher, + UserRepository $userRepository, + EntityManagerInterface $entityManager) { $form = $this->createForm(VoluntarioReservaRegistrationFormType::class); $form->handleRequest($request); @@ -151,15 +105,16 @@ public function registerVoluntarioReserva(Request $request, UserPasswordEncoderI /** @var VoluntarioReservaRegistrationFormModel $userModel */ $userModel = $form->getData(); $user = new User(); - $email = strtolower($userModel->primerNombre) . '@alameda.ar'; - $isUser = $userRepository->findBy(['email'=>$email]); - if($isUser){ - $this->addFlash('success', sprintf('El usuario %s ya existe', $user->getEmail())); + $email = strtolower((string) $userModel->primerNombre).'@alameda.ar'; + $isUser = $userRepository->findBy(['email' => $email]); + if ($isUser) { + $this->addFlash('success', sprintf('El usuario %s ya existe', $user->getEmail())); + return $this->redirectToRoute('app_registro_voluntario_reserva'); } $user->setEmail($email); $user->setPassword( - $passwordEncoder->encodePassword($user, 'Alameda2020!') + $userPasswordHasher->hashPassword($user, 'Alameda2020!') ); $user->setRoles(['ROLE_USER']); @@ -168,40 +123,16 @@ public function registerVoluntarioReserva(Request $request, UserPasswordEncoderI $user->aceptaTerminos(); - $em = $this->getDoctrine()->getManager(); - $em->persist($user); - $em->flush(); + $entityManager->persist($user); + $entityManager->flush(); - $this->addFlash('success', 'Se agregó correctamente al usuario ' . $user->getEmail()); + $this->addFlash('success', 'Se agregó correctamente al usuario '.$user->getEmail()); return $this->redirectToRoute('app_registro_voluntario_reserva'); - } - -// if ($request->isMethod('POST')) { -// $user = new User(); -// $user->setEmail($request->request->get('email')); -// $user->setPrimerNombre($request->request->get('primernombre')); -// $user->setPassword($passwordEncoder->encodePassword( -// $user, -// $request->request->get('password') -// )); -// $user->setRoles(['ROLE_USER']); -// $em = $this->getDoctrine()->getManager(); -// $em->persist($user); -// $em->flush(); -// -// return $authenticatorHandler->authenticateUserAndHandleSuccess( -// $user, -// $request, -// $formAuthenticator, -// 'main' -// ); -// } - return $this->render('security/registerVoluntarioReserva.html.twig', [ - 'regristroForm' => $form->createView() + 'regristroForm' => $form, ]); } } diff --git a/src/Controller/SitemapController.php b/src/Controller/SitemapController.php index 26008c76..a9e05a17 100644 --- a/src/Controller/SitemapController.php +++ b/src/Controller/SitemapController.php @@ -2,7 +2,7 @@ namespace App\Controller; -use App\Entity\Principal; +use App\Repository\PrincipalRepository; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; @@ -10,22 +10,19 @@ class SitemapController extends AbstractController { - /** - * @Route("/sitemap.xml", name="sitemap", defaults={"_format"="xml"}) - * @param Request $request - * @return Response - */ - public function index(Request $request): Response + #[Route(path: '/sitemap.xml', name: 'sitemap', defaults: ['_format' => 'xml'])] + public function index(Request $request, PrincipalRepository $principalRepository): Response { $hostname = $request->getSchemeAndHttpHost(); $urls = []; -// On ajoute les URLs "statiques" + // On ajoute les URLs "statiques" $urls[] = ['loc' => $this->generateUrl('reserva_index')]; + $principals = $principalRepository->findAll(); - foreach ($this->getDoctrine()->getRepository(Principal::class)->findAll() as $principal) { + foreach ($principals as $principal) { $urls[] = [ 'loc' => $this->generateUrl('principal_ver', [ 'linkRoute' => $principal->getLinkRoute(), @@ -37,7 +34,7 @@ public function index(Request $request): Response $response = new Response( $this->renderView('sitemap/index.html.twig', ['urls' => $urls, 'hostname' => $hostname]), - 200 + Response::HTTP_OK ); $response->headers->set('Content-Type', 'text/xml'); diff --git a/src/Controller/SourceApiController.php b/src/Controller/SourceApiController.php index ba44cd88..2e209742 100644 --- a/src/Controller/SourceApiController.php +++ b/src/Controller/SourceApiController.php @@ -10,14 +10,10 @@ use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/admin/source_api") - */ +#[Route(path: '/admin/source_api')] class SourceApiController extends AbstractController { - /** - * @Route("/", name="app_source_api_index", methods={"GET"}) - */ + #[Route(path: '/', name: 'app_source_api_index', methods: ['GET'])] public function index(SourceApiRepository $sourceApiRepository): Response { return $this->render('admin/source_api/index.html.twig', [ @@ -25,9 +21,7 @@ public function index(SourceApiRepository $sourceApiRepository): Response ]); } - /** - * @Route("/new", name="app_source_api_new", methods={"GET", "POST"}) - */ + #[Route(path: '/new', name: 'app_source_api_new', methods: ['GET', 'POST'])] public function new(Request $request, SourceApiRepository $sourceApiRepository): Response { $sourceApi = new SourceApi(); @@ -40,15 +34,13 @@ public function new(Request $request, SourceApiRepository $sourceApiRepository): return $this->redirectToRoute('app_source_api_index', [], Response::HTTP_SEE_OTHER); } - return $this->renderForm('admin/source_api/new.html.twig', [ + return $this->render('admin/source_api/new.html.twig', [ 'source_api' => $sourceApi, 'form' => $form, ]); } - /** - * @Route("/{id}", name="app_source_api_show", methods={"GET"}) - */ + #[Route(path: '/{id}', name: 'app_source_api_show', methods: ['GET'])] public function show(SourceApi $sourceApi): Response { return $this->render('admin/source_api/show.html.twig', [ @@ -56,9 +48,7 @@ public function show(SourceApi $sourceApi): Response ]); } - /** - * @Route("/{id}/edit", name="app_source_api_edit", methods={"GET", "POST"}) - */ + #[Route(path: '/{id}/edit', name: 'app_source_api_edit', methods: ['GET', 'POST'])] public function edit(Request $request, SourceApi $sourceApi, SourceApiRepository $sourceApiRepository): Response { $form = $this->createForm(SourceApiType::class, $sourceApi); @@ -70,15 +60,13 @@ public function edit(Request $request, SourceApi $sourceApi, SourceApiRepository return $this->redirectToRoute('app_source_api_index', [], Response::HTTP_SEE_OTHER); } - return $this->renderForm('admin/source_api/edit.html.twig', [ + return $this->render('admin/source_api/edit.html.twig', [ 'source_api' => $sourceApi, 'form' => $form, ]); } - /** - * @Route("/{id}", name="app_source_api_delete", methods={"POST"}) - */ + #[Route(path: '/{id}', name: 'app_source_api_delete', methods: ['POST'])] public function delete(Request $request, SourceApi $sourceApi, SourceApiRepository $sourceApiRepository): Response { if ($this->isCsrfTokenValid('delete'.$sourceApi->getId(), $request->request->get('_token'))) { diff --git a/src/Controller/TipoContactoController.php b/src/Controller/TipoContactoController.php index 2eb0ed9f..eb1df996 100644 --- a/src/Controller/TipoContactoController.php +++ b/src/Controller/TipoContactoController.php @@ -5,19 +5,16 @@ use App\Entity\TipoContacto; use App\Form\TipoContactoType; use App\Repository\TipoContactoRepository; +use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/admin/tipocontacto") - */ +#[Route(path: '/admin/tipocontacto')] class TipoContactoController extends AbstractController { - /** - * @Route("/", name="tipo_contacto_index", methods={"GET"}) - */ + #[Route(path: '/', name: 'tipo_contacto_index', methods: ['GET'])] public function index(TipoContactoRepository $tipoContactoRepository): Response { return $this->render('tipo_contacto/index.html.twig', [ @@ -25,17 +22,14 @@ public function index(TipoContactoRepository $tipoContactoRepository): Response ]); } - /** - * @Route("/new", name="tipo_contacto_new", methods={"GET","POST"}) - */ - public function new(Request $request): Response + #[Route(path: '/new', name: 'tipo_contacto_new', methods: ['GET', 'POST'])] + public function new(Request $request, EntityManagerInterface $entityManager): Response { $tipoContacto = new TipoContacto(); $form = $this->createForm(TipoContactoType::class, $tipoContacto); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($tipoContacto); $entityManager->flush(); @@ -44,13 +38,11 @@ public function new(Request $request): Response return $this->render('tipo_contacto/new.html.twig', [ 'tipo_contacto' => $tipoContacto, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="tipo_contacto_show", methods={"GET"}) - */ + #[Route(path: '/{id}', name: 'tipo_contacto_show', methods: ['GET'])] public function show(TipoContacto $tipoContacto): Response { return $this->render('tipo_contacto/show.html.twig', [ @@ -58,33 +50,28 @@ public function show(TipoContacto $tipoContacto): Response ]); } - /** - * @Route("/{id}/edit", name="tipo_contacto_edit", methods={"GET","POST"}) - */ - public function edit(Request $request, TipoContacto $tipoContacto): Response + #[Route(path: '/{id}/edit', name: 'tipo_contacto_edit', methods: ['GET', 'POST'])] + public function edit(Request $request, TipoContacto $tipoContacto, EntityManagerInterface $entityManager): Response { $form = $this->createForm(TipoContactoType::class, $tipoContacto); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $this->getDoctrine()->getManager()->flush(); + $entityManager->flush(); return $this->redirectToRoute('tipo_contacto_index'); } return $this->render('tipo_contacto/edit.html.twig', [ 'tipo_contacto' => $tipoContacto, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="tipo_contacto_delete", methods={"DELETE"}) - */ - public function delete(Request $request, TipoContacto $tipoContacto): Response + #[Route(path: '/{id}', name: 'tipo_contacto_delete', methods: ['DELETE'])] + public function delete(Request $request, TipoContacto $tipoContacto, EntityManagerInterface $entityManager): Response { if ($this->isCsrfTokenValid('delete'.$tipoContacto->getId(), $request->request->get('_token'))) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->remove($tipoContacto); $entityManager->flush(); } diff --git a/src/Controller/TypeBlockController.php b/src/Controller/TypeBlockController.php index 06c03633..3fc08859 100644 --- a/src/Controller/TypeBlockController.php +++ b/src/Controller/TypeBlockController.php @@ -5,22 +5,16 @@ use App\Entity\TypeBlock; use App\Form\TypeBlockType; use App\Repository\TypeBlockRepository; -use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted; +use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/admin/typeblock") - */ +#[Route(path: '/admin/typeblock')] class TypeBlockController extends AbstractController { - /** - * @Route("/", name="type_block_index", methods={"GET"}) - * @param TypeBlockRepository $typeBlockRepository - * @return Response - */ + #[Route(path: '/', name: 'type_block_index', methods: ['GET'])] public function index(TypeBlockRepository $typeBlockRepository): Response { return $this->render('type_block/index.html.twig', [ @@ -28,20 +22,15 @@ public function index(TypeBlockRepository $typeBlockRepository): Response ]); } - /** - * @Route("/new", name="type_block_new", methods={"GET","POST"}) - * @param Request $request - * @return Response - * @IsGranted("ROLE_ADMIN") - */ - public function new(Request $request): Response + #[Route(path: '/new', name: 'type_block_new', methods: ['GET', 'POST'])] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_ADMIN')] + public function new(Request $request, EntityManagerInterface $entityManager): Response { $typeBlock = new TypeBlock(); $form = $this->createForm(TypeBlockType::class, $typeBlock); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($typeBlock); $entityManager->flush(); @@ -50,15 +39,11 @@ public function new(Request $request): Response return $this->render('type_block/new.html.twig', [ 'type_block' => $typeBlock, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="type_block_show", methods={"GET"}) - * @param TypeBlock $typeBlock - * @return Response - */ + #[Route(path: '/{id}', name: 'type_block_show', methods: ['GET'])] public function show(TypeBlock $typeBlock): Response { return $this->render('type_block/show.html.twig', [ @@ -66,41 +51,30 @@ public function show(TypeBlock $typeBlock): Response ]); } - /** - * @Route("/{id}/edit", name="type_block_edit", methods={"GET","POST"}) - * @param Request $request - * @param TypeBlock $typeBlock - * @return Response - * @IsGranted("ROLE_ADMIN") - */ - public function edit(Request $request, TypeBlock $typeBlock): Response + #[Route(path: '/{id}/edit', name: 'type_block_edit', methods: ['GET', 'POST'])] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_ADMIN')] + public function edit(Request $request, TypeBlock $typeBlock, EntityManagerInterface $entityManager): Response { $form = $this->createForm(TypeBlockType::class, $typeBlock); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $this->getDoctrine()->getManager()->flush(); + $entityManager->flush(); return $this->redirectToRoute('type_block_index'); } return $this->render('type_block/edit.html.twig', [ 'type_block' => $typeBlock, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="type_block_delete", methods={"DELETE"}) - * @param Request $request - * @param TypeBlock $typeBlock - * @return Response - * @IsGranted("ROLE_ADMIN") - */ - public function delete(Request $request, TypeBlock $typeBlock): Response + #[Route(path: '/{id}', name: 'type_block_delete', methods: ['DELETE'])] + #[\Symfony\Component\Security\Http\Attribute\IsGranted('ROLE_ADMIN')] + public function delete(Request $request, TypeBlock $typeBlock, EntityManagerInterface $entityManager): Response { if ($this->isCsrfTokenValid('delete'.$typeBlock->getId(), $request->request->get('_token'))) { - $entityManager = $this->getDoctrine()->getManager(); $entityManager->remove($typeBlock); $entityManager->flush(); } diff --git a/src/Controller/TypeFixeController.php b/src/Controller/TypeFixeController.php index 5e6cfbda..8dabbe86 100644 --- a/src/Controller/TypeFixeController.php +++ b/src/Controller/TypeFixeController.php @@ -10,14 +10,10 @@ use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/admin/typefixe") - */ +#[Route(path: '/admin/typefixe')] class TypeFixeController extends AbstractController { - /** - * @Route("/", name="app_type_fixe_index", methods={"GET"}) - */ + #[Route(path: '/', name: 'app_type_fixe_index', methods: ['GET'])] public function index(TypeFixeRepository $typeFixeRepository): Response { return $this->render('type_fixe/index.html.twig', [ @@ -25,9 +21,7 @@ public function index(TypeFixeRepository $typeFixeRepository): Response ]); } - /** - * @Route("/new", name="app_type_fixe_new", methods={"GET", "POST"}) - */ + #[Route(path: '/new', name: 'app_type_fixe_new', methods: ['GET', 'POST'])] public function new(Request $request, TypeFixeRepository $typeFixeRepository): Response { $typeFixe = new TypeFixe(); @@ -36,18 +30,17 @@ public function new(Request $request, TypeFixeRepository $typeFixeRepository): R if ($form->isSubmitted() && $form->isValid()) { $typeFixeRepository->add($typeFixe); + return $this->redirectToRoute('app_type_fixe_index', [], Response::HTTP_SEE_OTHER); } - return $this->renderForm('type_fixe/new.html.twig', [ + return $this->render('type_fixe/new.html.twig', [ 'type_fixe' => $typeFixe, 'form' => $form, ]); } - /** - * @Route("/{id}", name="app_type_fixe_show", methods={"GET"}) - */ + #[Route(path: '/{id}', name: 'app_type_fixe_show', methods: ['GET'])] public function show(TypeFixe $typeFixe): Response { return $this->render('type_fixe/show.html.twig', [ @@ -55,9 +48,7 @@ public function show(TypeFixe $typeFixe): Response ]); } - /** - * @Route("/{id}/edit", name="app_type_fixe_edit", methods={"GET", "POST"}) - */ + #[Route(path: '/{id}/edit', name: 'app_type_fixe_edit', methods: ['GET', 'POST'])] public function edit(Request $request, TypeFixe $typeFixe, TypeFixeRepository $typeFixeRepository): Response { $form = $this->createForm(TypeFixeType::class, $typeFixe); @@ -65,18 +56,17 @@ public function edit(Request $request, TypeFixe $typeFixe, TypeFixeRepository $t if ($form->isSubmitted() && $form->isValid()) { $typeFixeRepository->add($typeFixe); + return $this->redirectToRoute('app_type_fixe_index', [], Response::HTTP_SEE_OTHER); } - return $this->renderForm('type_fixe/edit.html.twig', [ + return $this->render('type_fixe/edit.html.twig', [ 'type_fixe' => $typeFixe, 'form' => $form, ]); } - /** - * @Route("/{id}", name="app_type_fixe_delete", methods={"POST"}) - */ + #[Route(path: '/{id}', name: 'app_type_fixe_delete', methods: ['POST'])] public function delete(Request $request, TypeFixe $typeFixe, TypeFixeRepository $typeFixeRepository): Response { if ($this->isCsrfTokenValid('delete'.$typeFixe->getId(), $request->request->get('_token'))) { diff --git a/src/Controller/UserController.php b/src/Controller/UserController.php index 28e2a034..8fdf521a 100644 --- a/src/Controller/UserController.php +++ b/src/Controller/UserController.php @@ -2,47 +2,34 @@ namespace App\Controller; -use App\Entity\Roles; use App\Entity\User; use App\Form\User1Type; use App\Repository\UserRepository; -use App\Service\Request\RequestService; +use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -/** - * @Route("/admin/user") - */ +#[Route(path: '/admin/user')] class UserController extends AbstractController { - /** - * @Route("/", name="user_index", methods={"GET"}) - * @param UserRepository $userRepository - * @return Response - */ + #[Route(path: '/', name: 'user_index', methods: ['GET'])] public function index(UserRepository $userRepository): Response { return $this->render('user/index.html.twig', [ - 'users' => $userRepository->findBy([],['primerNombre'=>'ASC']), + 'users' => $userRepository->findBy([], ['primerNombre' => 'ASC']), ]); } - /** - * @Route("/new", name="user_new", methods={"GET","POST"}) - * @param Request $request - * @return Response - */ - public function new(Request $request): Response + #[Route(path: '/new', name: 'user_new', methods: ['GET', 'POST'])] + public function new(Request $request, EntityManagerInterface $entityManager): Response { $user = new User(); $form = $this->createForm(User1Type::class, $user); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - - $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($user); $entityManager->flush(); @@ -51,15 +38,11 @@ public function new(Request $request): Response return $this->render('user/new.html.twig', [ 'user' => $user, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="user_show", methods={"GET"}) - * @param User $user - * @return Response - */ + #[Route(path: '/{id}', name: 'user_show', methods: ['GET'])] public function show(User $user): Response { return $this->render('user/show.html.twig', [ @@ -67,49 +50,37 @@ public function show(User $user): Response ]); } - /** - * @Route("/{id}/edit", name="user_edit", methods={"GET","POST"}) - * @param Request $request - * @param User $user - * @return Response - */ - public function edit(Request $request, User $user): Response + #[Route(path: '/{id}/edit', name: 'user_edit', methods: ['GET', 'POST'])] + public function edit(Request $request, User $user, EntityManagerInterface $entityManager): Response { $form = $this->createForm(User1Type::class, $user); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - - $this->getDoctrine()->getManager()->flush(); + $entityManager->flush(); return $this->redirectToRoute('admin_list_user'); } return $this->render('user/edit.html.twig', [ 'user' => $user, - 'form' => $form->createView(), + 'form' => $form, ]); } - /** - * @Route("/{id}", name="user_delete", methods={"DELETE"}) - * @param Request $request - * @param User $user - * @return Response - */ - public function delete(Request $request, User $user): Response + #[Route(path: '/{id}', name: 'user_delete', methods: ['DELETE'])] + public function delete(Request $request, User $user, EntityManagerInterface $entityManager): Response { - $total = $user->getPrincipal()->count() + $user->getSections()->count() + $user->getEntradas()->count() + $user->getComentarios()->count() + $user->getCelebracions()->count() + $user->getEnlaceCortos()->count(); + $total = $user->getPrincipal()->count() + $user->getSections()->count() + $user->getEntradas()->count() + $user->getComentarios()->count() + $user->getCelebracions()->count() + $user->getEnlaceCortos()->count(); - if($total > 0 ){ - $user->setIsDeleted(true); - $this->addFlash('success', sprintf('El usuario %s tiene registros en el sitio, se registra como deleted', $user->getEmail())); - return $this->redirectToRoute('user_index'); - } + if ($total > 0) { + $user->setIsDeleted(true); + $this->addFlash('success', sprintf('El usuario %s tiene registros en el sitio, se registra como deleted', $user->getEmail())); - if ($this->isCsrfTokenValid('delete'.$user->getId(), $request->request->get('_token'))) { + return $this->redirectToRoute('user_index'); + } - $entityManager = $this->getDoctrine()->getManager(); + if ($this->isCsrfTokenValid('delete'.$user->getId(), $request->request->get('_token'))) { $entityManager->remove($user); $entityManager->flush(); $this->addFlash('success', 'El usuario fue removido'); diff --git a/src/Controller/ZinicioController.php b/src/Controller/ZinicioController.php index a86c4aac..34f1bc49 100644 --- a/src/Controller/ZinicioController.php +++ b/src/Controller/ZinicioController.php @@ -6,6 +6,7 @@ use App\Entity\Principal; use App\Repository\PrincipalRepository; use App\Repository\SectionRepository; +use Doctrine\ORM\EntityManagerInterface; use Knp\Component\Pager\PaginatorInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\RedirectResponse; @@ -16,78 +17,57 @@ class ZinicioController extends AbstractController { - /** - * @var bool - */ - private $site_temporal; - /** * ZinicioController constructor. - * @param string $site_temporal */ - public function __construct(string $site_temporal) + public function __construct(private readonly string $site_temporal) { - $this->site_temporal = $site_temporal; } - /** - * @Route("/", name="index") - */ - public function index() + #[Route(path: '/', name: 'index')] + public function index(EntityManagerInterface $em) { - $em = $this->getDoctrine()->getManager(); /** @var IndexAlameda $indexAlameda */ - $indexAlameda = $em->getRepository(IndexAlameda::class)->findOneBy(['base'=>'index']); - if ($this->site_temporal == 'true') { + $indexAlameda = $em->getRepository(IndexAlameda::class)->findOneBy(['base' => 'index']); + if ('true' == $this->site_temporal) { return $this->redirectToRoute('reserva_index'); -// return $this->render('models/principal/temporalmente.html.twig', [ -// 'datosIndex' => null, -// ]); + // return $this->render('models/principal/temporalmente.html.twig', [ + // 'datosIndex' => null, + // ]); } $vista = 'index'; - if($indexAlameda->getTemplate()){ + if ($indexAlameda->getTemplate()) { $vista = $indexAlameda->getTemplate(); } + $blocsFixes = $indexAlameda->getBlocsFixes() ?? []; - $blocsFixes = $indexAlameda->getBlocsFixes()?? []; - - - return $this->render('models/principal/'.$vista .'.html.twig', [ + return $this->render('models/principal/'.$vista.'.html.twig', [ 'controller_name' => 'InicioController', 'datosIndex' => $indexAlameda, 'blocsFixes' => $blocsFixes, ]); } - /** - * @Route("/ingreso", name="app_ingreso") - * @param AuthenticationUtils $authenticationUtils - * @return RedirectResponse - */ + #[Route(path: '/ingreso', name: 'app_ingreso')] public function ingreso(AuthenticationUtils $authenticationUtils): RedirectResponse { return $this->redirectToRoute('app_login'); } - /** - * @Route("/reserva", name="app_reserva") - * @return RedirectResponse - */ + #[Route(path: '/reserva', name: 'app_reserva')] public function app_reserva(): RedirectResponse { return $this->redirectToRoute('reserva_index'); } - /** - * @Route("/test/index", name="test_index") - */ + #[Route(path: '/test/index', name: 'test_index')] public function test_index(): Response { $em = $this->container->get('doctrine')->getManager(); /** @var IndexAlameda $indexAlameda */ $indexAlameda = $em->getRepository(IndexAlameda::class)->findAll(); -// $blocsFixes = $em->getRepository(BlocsFixes::class)->findBy(['indexAlameda' => $indexAlameda[0]->getId()]); + // $blocsFixes = $em->getRepository(BlocsFixes::class)->findBy(['indexAlameda' => $indexAlameda[0]->getId()]); $blocsFixes = $indexAlameda[0]->getBlocsFixes(); return $this->render('models/principal/index-side-right.html.twig', [ @@ -97,12 +77,7 @@ public function test_index(): Response ]); } - /** - * @Route("/test/{linkRoute}", name="test_principal_ver", methods={"GET"}) - * @param Principal $principal - * @param PrincipalRepository $principalRepository - * @return Response - */ + #[Route(path: '/test/{linkRoute}', name: 'test_principal_ver', methods: ['GET'])] public function ver_test(Principal $principal, PrincipalRepository $principalRepository): Response { $vista = $principal->getModelTemplate(); @@ -120,13 +95,7 @@ public function ver_test(Principal $principal, PrincipalRepository $principalRep ]); } - /** - * @Route("/{linkRoute}", name="principal_ver", methods={"GET"}) - * @param Principal $principal - * @param PrincipalRepository $principalRepository - * @param SectionRepository $sectionRepository - * @return Response - */ + #[Route(path: '/{linkRoute}', name: 'principal_ver', methods: ['GET'])] public function ver( Principal $principal, PrincipalRepository $principalRepository, @@ -149,81 +118,59 @@ public function ver( ]); } - /** - * @Route("/{linkRoute}/listado", name="principal_listado", methods={"GET"}) - * @param Principal $principal - * @param PrincipalRepository $principalRepository - * @param PaginatorInterface $paginator - * @param Request $request - * @return Response - */ + #[Route(path: '/{linkRoute}/listado', name: 'principal_listado', methods: ['GET'])] public function listado( Principal $principal, PrincipalRepository $principalRepository, PaginatorInterface $paginator, Request $request ): Response { - $query = $principalRepository->getQueryfindByPrincipalParentActive($principal); $principales = $paginator->paginate( $query, /* query NOT result */ - $request->query->getInt('page', 1)/*page number*/, - 5/*limit per page*/ + $request->query->getInt('page', 1)/* page number */, + 5/* limit per page */ ); - return $this->render('models/principal/listadoPrincipal.html.twig', [ 'principales' => $principales, 'ppal' => $principal, ]); } - - /** - * @Route("/contacto", name="contacto") - */ - public function contacto() + #[Route(path: '/contacto', name: 'contacto')] + public function contacto(): Response { return $this->render('models/principal/contacto.html.twig', []); } - /** - * @Route("/avanza", name="avanza") - */ - public function avanza() + #[Route(path: '/avanza', name: 'avanza')] + public function avanza(): Response { return $this->render('models/principal/avanza.html.twig', []); } - /** - * @Route("/grupospequeños", name="grupospequeños", options = {"utf8": true }) - */ - public function gpc() + #[Route(path: '/grupospequeños', name: 'grupospequeños', options: ['utf8' => true])] + public function gpc(): Response { return $this->render('models/principal/grupospequeños.html.twig', []); } - /** - * @Route("/ofrenda", name="ofrenda", options = {"utf8": true }) - */ - public function ofrenda() + #[Route(path: '/ofrenda', name: 'ofrenda', options: ['utf8' => true])] + public function ofrenda(): Response { return $this->render('models/principal/ofrenda.html.twig', []); } - /** - * @Route("/notas", name="notas", options = {"utf8": true }) - */ + #[Route(path: '/notas', name: 'notas', options: ['utf8' => true])] public function notas(): Response { return $this->render('models/principal/notas.html.twig', []); } - /** - * @Route("/oracion", name="oracion", options = {"utf8": true }) - */ - public function oracion() + #[Route(path: '/oracion', name: 'oracion', options: ['utf8' => true])] + public function oracion(): Response { return $this->render('models/principal/oracion.html.twig', []); } diff --git a/src/DataFixtures/AppFixtures.php b/src/DataFixtures/AppFixtures.php index b18a0583..14068f89 100755 --- a/src/DataFixtures/AppFixtures.php +++ b/src/DataFixtures/AppFixtures.php @@ -9,7 +9,7 @@ class AppFixtures extends Fixture { - public function load(ObjectManager $manager) + public function load(ObjectManager $manager): void { $this->creaDatosIndex($manager); } @@ -17,8 +17,6 @@ public function load(ObjectManager $manager) private function creaDatosIndex(ObjectManager $manager) { $inicio = new IndexAlameda(); - $inicio->setHorario1('11:00'); - $inicio->setHorario2('20:00'); $inicio->setLema('Oraciones Audaces'); $inicio->setLemaPrincipal('Vení tal como sos'); $inicio->setLemaSinEspacio('Oraciones-Audaces'); @@ -27,10 +25,7 @@ private function creaDatosIndex(ObjectManager $manager) $inicio->setMetaTitle('Iglesia Alameda'); $inicio->setMetaImage('cabecera_index.jpg'); $inicio->setMetaType('website'); - $inicio->setMetaUrl('https://iglesiaalameda.com'); - $inicio->setTextoVersiculo('Dios nuestro,.. Nosotros no podemos oponernos a [esto] que viene a atacarnos. - ¡No sabemos qué hacer! [Pero] ¡En ti hemos puesto nuestra esperanza!"'); - $inicio->setVersiculo('2 Crónicas 20:12 (NVI)'); + $inicio->setMetaUrl('https://alamedacms.com'); $inicio->setBase('index'); $base = new MetaBase(); diff --git a/src/DataFixtures/BaseFixture.php b/src/DataFixtures/BaseFixture.php index ec5bec36..b322d890 100755 --- a/src/DataFixtures/BaseFixture.php +++ b/src/DataFixtures/BaseFixture.php @@ -37,11 +37,9 @@ public function load(ObjectManager $manager) * return $user; * }); * - * @param int $count * @param string $groupName tag these created objects with this group name, * and use this later with getRandomReference(s) * to fetch only from this specific group - * @param callable $factory */ protected function createMany(int $count, string $groupName, callable $factory) { @@ -65,7 +63,7 @@ protected function getRandomReference(string $groupName) $this->referencesIndex[$groupName] = []; foreach ($this->referenceRepository->getReferences() as $key => $ref) { - if (0 === strpos($key, $groupName.'_')) { + if (str_starts_with($key, $groupName.'_')) { $this->referencesIndex[$groupName][] = $key; } } diff --git a/src/DataFixtures/ComentarioFixtures.php b/src/DataFixtures/ComentarioFixtures.php index 53e9db81..613b51b3 100755 --- a/src/DataFixtures/ComentarioFixtures.php +++ b/src/DataFixtures/ComentarioFixtures.php @@ -2,18 +2,15 @@ namespace App\DataFixtures; - use App\Entity\Comentario; use Doctrine\Common\DataFixtures\DependentFixtureInterface; use Doctrine\Persistence\ObjectManager; class ComentarioFixtures extends BaseFixture implements DependentFixtureInterface { - protected function loadData(ObjectManager $manager) { $this->createMany(100, 'main_comentarios', function ($count) { - $comment = new Comentario(); $comment->setContenido( $this->faker->boolean ? $this->faker->paragraph : $this->faker->sentences(2, true) @@ -24,7 +21,6 @@ protected function loadData(ObjectManager $manager) ->setIsDeleted($this->faker->boolean(20)); return $comment; - }); $manager->flush(); } @@ -34,7 +30,7 @@ public function getDependencies() return [ // TagFixture::class, UserFixtures::class, - EntradaFixtures::class + EntradaFixtures::class, ]; + } } -} \ No newline at end of file diff --git a/src/DataFixtures/EntradaFixtures.php b/src/DataFixtures/EntradaFixtures.php index 1f4feeea..edf3f75e 100755 --- a/src/DataFixtures/EntradaFixtures.php +++ b/src/DataFixtures/EntradaFixtures.php @@ -2,10 +2,9 @@ namespace App\DataFixtures; -use App\Entity\Comentario; use App\Entity\Entrada; -//use App\Entity\Comment; -//use App\Entity\Tag; +// use App\Entity\Comment; +// use App\Entity\Tag; use App\Service\UploaderHelper; use Doctrine\Common\DataFixtures\DependentFixtureInterface; use Doctrine\Persistence\ObjectManager; @@ -14,12 +13,12 @@ class EntradaFixtures extends BaseFixture implements DependentFixtureInterface { - private static $entradaTitles = [ - 'Ante lo Inesperado', - 'Indomita', - 'Rescate en las llamas', - 'Maravillas cotidianas', - ]; + private static $entradaTitles = [ + 'Ante lo Inesperado', + 'Indomita', + 'Rescate en las llamas', + 'Maravillas cotidianas', + ]; private static $entradaImages = [ '01-Ante-lo-inesperado.jpg', @@ -27,19 +26,16 @@ class EntradaFixtures extends BaseFixture implements DependentFixtureInterface '03-Rescate-en-las-llamas.jpg', ]; - private $uploaderHelper; - /** * EntradaFixtures constructor. */ - public function __construct(UploaderHelper $uploaderHelper) + public function __construct(private readonly UploaderHelper $uploaderHelper) { - $this->uploaderHelper = $uploaderHelper; } protected function loadData(ObjectManager $manager) { - $this->createMany(10, 'main_entradas', function ($count) use ($manager) { + $this->createMany(10, 'main_entradas', function ($count) { $entrada = new Entrada(); $entrada->setTitulo($this->faker->randomElement(self::$entradaTitles)) ->setContenido('Una dato más'); @@ -49,20 +45,15 @@ protected function loadData(ObjectManager $manager) $entrada->setPublicadoAt($this->faker->dateTimeBetween('-100 days', '-1 days')); } $imageFilename = $this->fakeUploadImage(); - $link = strtolower(str_replace(' ', '-', trim($entrada->getTitulo().' '.rand(0, 100)))); + $link = strtolower(str_replace(' ', '-', trim($entrada->getTitulo().' '.random_int(0, 100)))); $entrada->setAutor($this->getRandomReference('escitor_users')) ->setImageFilename($imageFilename) ->setLinkRoute($link); - - - - - -// $tags = $this->getRandomReferences('main_tags', $this->faker->numberBetween(0, 5)); -// foreach ($tags as $tag) { -// $article->addTag($tag); -// } + // $tags = $this->getRandomReferences('main_tags', $this->faker->numberBetween(0, 5)); + // foreach ($tags as $tag) { + // $article->addTag($tag); + // } return $entrada; }); diff --git a/src/DataFixtures/PrincipalFixtures.php b/src/DataFixtures/PrincipalFixtures.php index d6cd14f4..2cdf6ad1 100644 --- a/src/DataFixtures/PrincipalFixtures.php +++ b/src/DataFixtures/PrincipalFixtures.php @@ -17,30 +17,23 @@ class PrincipalFixtures extends BaseFixture implements DependentFixtureInterface 'avanza', ]; - protected function loadData(ObjectManager $manager) { // $product = new Product(); // $manager->persist($product); - $this->createMany(6, 'main_principal',function ($count) use ($manager){ - - $principal = new Principal(); - $indice = $count; - $principal->setTitulo(self::$principalTitles[$indice]) - ->setContenido($this->faker->realText(100)) - ->setCreatedAt($this->faker->dateTimeBetween('-100 days', '-1 days')); - ; - - - $principal->setLinkRoute(self::$principalTitles[$indice]); - $principal->setAutor($this->getRandomReference('escitor_users')); - $principal->addEntrada($this->getRandomReference('main_entradas')); - - return $principal; - - - - } ); + $this->createMany(6, 'main_principal', function ($count) { + $principal = new Principal(); + $indice = $count; + $principal->setTitulo(self::$principalTitles[$indice]) + ->setContenido($this->faker->realText(100)) + ->setCreatedAt($this->faker->dateTimeBetween('-100 days', '-1 days')); + + $principal->setLinkRoute(self::$principalTitles[$indice]); + $principal->setAutor($this->getRandomReference('escitor_users')); + $principal->addEntrada($this->getRandomReference('main_entradas')); + + return $principal; + }); $manager->flush(); } diff --git a/src/DataFixtures/UserFixtures.php b/src/DataFixtures/UserFixtures.php index 40847505..df2a2779 100755 --- a/src/DataFixtures/UserFixtures.php +++ b/src/DataFixtures/UserFixtures.php @@ -5,26 +5,15 @@ use App\Entity\ApiToken; use App\Entity\User; use Doctrine\Persistence\ObjectManager; -use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface; +use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface; class UserFixtures extends BaseFixture { -// public function load(ObjectManager $manager) -// { -// // $product = new Product(); -// // $manager->persist($product); -// -// $manager->flush(); -// } - - private $userPasswordEncoder; - /** * UserFixtures constructor. */ - public function __construct(UserPasswordEncoderInterface $userPasswordEncoder) + public function __construct(private readonly UserPasswordHasherInterface $userPasswordHasher) { - $this->userPasswordEncoder = $userPasswordEncoder; } protected function loadData(ObjectManager $manager) @@ -33,7 +22,7 @@ protected function loadData(ObjectManager $manager) $user = new User(); $user->setEmail(sprintf('alameda%d@alameda.com', $i)); $user->setPrimerNombre($this->faker->firstName); - $user->setPassword($this->userPasswordEncoder->encodePassword( + $user->setPassword($this->userPasswordHasher->hashPassword( $user, 'Ninguna' )); @@ -60,7 +49,7 @@ protected function loadData(ObjectManager $manager) } $user->setRoles(['ROLE_ADMIN']); $user->aceptaTerminos(); - $user->setPassword($this->userPasswordEncoder->encodePassword( + $user->setPassword($this->userPasswordHasher->hashPassword( $user, 'Ninguna' )); @@ -76,7 +65,7 @@ protected function loadData(ObjectManager $manager) $user->setTwitterUsername($this->faker->userName); } $user->setRoles(['ROLE_ESCRITOR']); - $user->setPassword($this->userPasswordEncoder->encodePassword( + $user->setPassword($this->userPasswordHasher->hashPassword( $user, 'Ninguna' )); diff --git a/src/Entity/ApiToken.php b/src/Entity/ApiToken.php index 9d3d42ac..3978efaf 100755 --- a/src/Entity/ApiToken.php +++ b/src/Entity/ApiToken.php @@ -2,51 +2,34 @@ namespace App\Entity; -use DateTime; -use DateTimeInterface; use Doctrine\ORM\Mapping as ORM; -use Exception; -/** - * @ORM\Entity(repositoryClass="App\Repository\ApiTokenRepository") - */ +#[ORM\Entity(repositoryClass: \App\Repository\ApiTokenRepository::class)] class ApiToken { - /** - * @ORM\Id() - * @ORM\GeneratedValue() - * @ORM\Column(type="integer") - */ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] private $id; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $token; - /** - * @ORM\Column(type="datetime") - */ + #[ORM\Column(type: 'datetime')] private $expiraAt; - /** - * @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="apiTokens") - * @ORM\JoinColumn(nullable=false) - */ - private $user; - /** * ApiToken constructor. * - * @param $user - * - * @throws Exception + * @throws \Exception */ - public function __construct(User $user) + public function __construct( + #[ORM\ManyToOne(inversedBy: 'apiTokens')] + #[ORM\JoinColumn(nullable: false)] + private User $user) { $this->token = bin2hex(random_bytes(60)); - $this->user = $user; - $this->expiraAt = new DateTime('+3 hour'); + $this->expiraAt = new \DateTime('+3 hour'); } public function getId(): ?int @@ -59,7 +42,7 @@ public function getToken(): ?string return $this->token; } - public function getExpiraAt(): ?DateTimeInterface + public function getExpiraAt(): ?\DateTimeInterface { return $this->expiraAt; } @@ -71,13 +54,13 @@ public function getUser(): ?User public function renuevaExpirasAt() { - $this->expiraAt = new DateTime('+1 hour'); + $this->expiraAt = new \DateTime('+1 hour'); } public function isExpired(): bool { return false; - return $this->getExpiraAt() <= new DateTime(); + return $this->getExpiraAt() <= new \DateTime(); } } diff --git a/src/Entity/BlocsFixes.php b/src/Entity/BlocsFixes.php index 66c70d07..21896b1a 100644 --- a/src/Entity/BlocsFixes.php +++ b/src/Entity/BlocsFixes.php @@ -13,48 +13,38 @@ use Ramsey\Uuid\Uuid; use Ramsey\Uuid\UuidInterface; -/** - * @ORM\Entity(repositoryClass=BlocsFixesRepository::class) - */ -class BlocsFixes +#[ORM\Entity(repositoryClass: BlocsFixesRepository::class)] +class BlocsFixes implements \Stringable { use CssClass; + use ImageTrait; + use TimestampableEntity; + use IdentificadorTrait; - /** - * @ORM\Id() - * @ORM\Column(type="uuid", length=36) - * @ORM\GeneratedValue(strategy="CUSTOM") - * @ORM\CustomIdGenerator(class="Ramsey\Uuid\Doctrine\UuidGenerator") - */ + + #[ORM\Id] + #[ORM\Column(type: 'uuid', length: 36)] + #[ORM\GeneratedValue(strategy: 'CUSTOM')] + #[ORM\CustomIdGenerator(class: \Ramsey\Uuid\Doctrine\UuidGenerator::class)] private UuidInterface $id; - /** - * @ORM\ManyToMany(targetEntity=Principal::class, inversedBy="blocsFixes") - */ + #[ORM\ManyToMany(targetEntity: Principal::class, inversedBy: 'blocsFixes')] private Collection $page; - /** - * @ORM\ManyToMany(targetEntity=Section::class) - */ + #[ORM\ManyToMany(targetEntity: Section::class)] private Collection $section; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ - private ?string $description; + #[ORM\Column(type: 'string', length: 255, nullable: true)] + private ?string $description = null; - /** - * @ORM\ManyToOne(targetEntity=TypeFixe::class) - */ - private ?TypeFixe $fixes_type; + #[ORM\ManyToOne()] + private ?TypeFixe $fixes_type = null; - /** - * @ORM\ManyToOne(targetEntity=IndexAlameda::class, inversedBy="blocs_fixes") - * @ORM\JoinTable(name="blocs_fixes_index_alameda") - */ - private ?IndexAlameda $indexAlameda; + #[ORM\JoinTable(name: 'blocs_fixes_index_alameda')] + #[ORM\ManyToOne(inversedBy: 'blocs_fixes')] + private ?IndexAlameda $indexAlameda = null; public function __construct() { @@ -63,9 +53,9 @@ public function __construct() $this->section = new ArrayCollection(); } - public function __toString() + public function __toString(): string { - return $this->description; + return (string) $this->description; } public function getId(): UuidInterface @@ -121,8 +111,6 @@ public function removeSection(Section $section): self return $this; } - - public function getDescription(): ?string { return $this->description; diff --git a/src/Entity/Brote.php b/src/Entity/Brote.php deleted file mode 100644 index c68e72a7..00000000 --- a/src/Entity/Brote.php +++ /dev/null @@ -1,302 +0,0 @@ -comenttarios = new ArrayCollection(); - $this->entrada = new ArrayCollection(); - } - - public function getId(): ?int - { - return $this->id; - } - - public function getAutor(): ?User - { - return $this->autor; - } - - public function setAutor(?User $autor): self - { - $this->autor = $autor; - - return $this; - } - - public function getTitulo(): ?string - { - return $this->titulo; - } - - public function setTitulo(string $titulo): self - { - $this->titulo = $titulo; - - return $this; - } - - public function getContenido(): ?string - { - return $this->contenido; - } - - public function setContenido(string $contenido): self - { - $this->contenido = $contenido; - - return $this; - } - - public function getLinkRoute(): ?string - { - return $this->linkRoute; - } - - public function setLinkRoute(string $linkRoute): self - { - $this->linkRoute = $linkRoute; - - return $this; - } - - public function getImageFilename(): ?string - { - return $this->imageFilename; - } - - public function setImageFilename(?string $imageFilename): self - { - $this->imageFilename = $imageFilename; - - return $this; - } - - public function getLikes(): ?int - { - return $this->likes; - } - - public function setLikes(?int $likes): self - { - $this->likes = $likes; - - return $this; - } - - /** - * @return Collection|Comentario[] - */ - public function getComenttarios(): Collection - { - return $this->comenttarios; - } - - public function addComenttario(Comentario $comenttario): self - { - if (!$this->comenttarios->contains($comenttario)) { - $this->comenttarios[] = $comenttario; - $comenttario->setDerivada($this); - } - - return $this; - } - - public function removeComenttario(Comentario $comenttario): self - { - if ($this->comenttarios->contains($comenttario)) { - $this->comenttarios->removeElement($comenttario); - // set the owning side to null (unless already changed) - if ($comenttario->getDerivada() === $this) { - $comenttario->setDerivada(null); - } - } - - return $this; - } - - /** - * @return Collection|Entrada[] - */ - public function getEntrada(): Collection - { - return $this->entrada; - } - - public function addEntrada(Entrada $entrada): self - { - if (!$this->entrada->contains($entrada)) { - $this->entrada[] = $entrada; - } - - return $this; - } - - public function removeEntrada(Entrada $entrada): self - { - if ($this->entrada->contains($entrada)) { - $this->entrada->removeElement($entrada); - } - - return $this; - } - - public function getPrincipal(): ?Principal - { - return $this->principal; - } - - public function setPrincipal(?Principal $principal): self - { - $this->principal = $principal; - - return $this; - } - - public function getPublicadoAt(): ?\DateTimeInterface - { - return $this->publicadoAt; - } - - public function setPublicadoAt(?\DateTimeInterface $publicadoAt): self - { - $this->publicadoAt = $publicadoAt; - - return $this; - } - - public function getActiva(): ?bool - { - return $this->activa; - } - - public function setActiva(?bool $activa): self - { - $this->activa = $activa; - - return $this; - } - - public function getImagePath() - { - return UploaderHelper::IMAGE_ENTRADA.'/'.$this->getImageFilename(); - } - - public function getEventoAt(): ?\DateTimeInterface - { - return $this->eventoAt; - } - - public function setEventoAt(?\DateTimeInterface $eventoAt): self - { - $this->eventoAt = $eventoAt; - - return $this; - } - - public function getLinkPosting(): ?string - { - return $this->linkPosting; - } - - public function setLinkPosting(?string $linkPosting): self - { - $this->linkPosting = $linkPosting; - - return $this; - } -} diff --git a/src/Entity/ButtonLink.php b/src/Entity/ButtonLink.php index e0117f10..61b314bc 100644 --- a/src/Entity/ButtonLink.php +++ b/src/Entity/ButtonLink.php @@ -7,51 +7,33 @@ use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; -/** - * @ORM\Entity(repositoryClass=ButtonLinkRepository::class) - */ -class ButtonLink +#[ORM\Entity(repositoryClass: ButtonLinkRepository::class)] +class ButtonLink implements \Stringable { - /** - * @ORM\Id - * @ORM\GeneratedValue - * @ORM\Column(type="integer") - */ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] private $id; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $cssClass; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $linkRoute; - /** - * @ORM\Column(type="boolean", nullable=true) - */ + #[ORM\Column(type: 'boolean', nullable: true)] private $isLinkExterno; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $textButton; - /** - * @ORM\ManyToMany(targetEntity=Section::class, mappedBy="button") - */ + #[ORM\ManyToMany(targetEntity: Section::class, mappedBy: 'button')] private $sections; - /** - * @ORM\ManyToMany(targetEntity=Principal::class, mappedBy="button") - */ + #[ORM\ManyToMany(targetEntity: Principal::class, mappedBy: 'button')] private $principals; - /** - * @ORM\ManyToMany(targetEntity=Entrada::class, mappedBy="button") - */ + #[ORM\ManyToMany(targetEntity: Entrada::class, mappedBy: 'button')] private $entradas; public function __construct() @@ -61,9 +43,9 @@ public function __construct() $this->entradas = new ArrayCollection(); } - public function __toString() + public function __toString(): string { - return $this->textButton; + return (string) $this->textButton; } public function getId(): ?int diff --git a/src/Entity/Celebracion.php b/src/Entity/Celebracion.php index 6f52a57d..b67367d9 100644 --- a/src/Entity/Celebracion.php +++ b/src/Entity/Celebracion.php @@ -4,93 +4,65 @@ use App\Entity\Traits\OfertTrait; use App\Repository\CelebracionRepository; -use DateTime; -use DateTimeInterface; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; use Gedmo\Timestampable\Traits\TimestampableEntity; -use IntlDateFormatter; -/** - * @ORM\Entity(repositoryClass=CelebracionRepository::class) - */ -class Celebracion +#[ORM\Entity(repositoryClass: CelebracionRepository::class)] +class Celebracion implements \Stringable { - use TimestampableEntity; + use OfertTrait; - /** - * @ORM\Id() - * @ORM\Column(type="string", length=36) - * @ORM\GeneratedValue(strategy="CUSTOM") - * @ORM\CustomIdGenerator(class="Ramsey\Uuid\Doctrine\UuidGenerator") - */ + #[ORM\Id] + #[ORM\Column(type: 'string', length: 36)] + #[ORM\GeneratedValue(strategy: 'CUSTOM')] + #[ORM\CustomIdGenerator(class: \Ramsey\Uuid\Doctrine\UuidGenerator::class)] private $id; - /** - * @ORM\Column(type="datetime") - */ + #[ORM\Column(type: 'datetime')] private $fechaCelebracionAt; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $nombre; - /** - * @ORM\Column(type="integer") - */ + #[ORM\Column(type: 'integer')] private $capacidad; - /** - * @ORM\ManyToOne(targetEntity=User::class, inversedBy="celebracions") - * @ORM\JoinColumn(nullable=false) - */ - private $creaEvento; + #[ORM\ManyToOne(inversedBy: 'celebracions')] + #[ORM\JoinColumn(nullable: false)] + private ?User $creaEvento = null; - /** - * @ORM\OneToMany(targetEntity=Reservante::class, mappedBy="celebracion") - */ - private $reservantes; + #[ORM\OneToMany(mappedBy: 'celebracion', targetEntity: Reservante::class)] + private Collection $reservantes; - /** - * @ORM\OneToMany(targetEntity=Invitado::class, mappedBy="celebracion") - */ - private $invitados; + #[ORM\OneToMany(targetEntity: Invitado::class, mappedBy: 'celebracion')] + private Collection $invitados; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $descripcion; - /** - * @ORM\Column(type="boolean", nullable=true) - */ + #[ORM\Column(type: 'boolean', nullable: true)] private $isHabilitada; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $imageQr; - /** - * @ORM\OneToMany(targetEntity=WaitingList::class, mappedBy="celebracion") - */ - private $waitingLists; + #[ORM\OneToMany(targetEntity: WaitingList::class, mappedBy: 'celebracion')] + private Collection $waitingLists; - /** - * @ORM\ManyToMany(targetEntity=GroupCelebration::class, mappedBy="celebraciones") - */ + #[ORM\ManyToMany(targetEntity: GroupCelebration::class, mappedBy: 'celebraciones')] private $groupCelebrations; - public function __toString() + public function __toString(): string { - $formatter = new IntlDateFormatter('es_ES', IntlDateFormatter::SHORT, IntlDateFormatter::SHORT); + $formatter = new \IntlDateFormatter('es_ES', \IntlDateFormatter::SHORT, \IntlDateFormatter::SHORT); $formatter->setPattern(" d 'de' MMMM"); -// return $this->getNombre() . ' ' . date_format($this->getFechaCelebracionAt(), 'd/M'); - return $this->getNombre() . ' ' . $formatter->format($this->getFechaCelebracionAt()); + + // return $this->getNombre() . ' ' . date_format($this->getFechaCelebracionAt(), 'd/M'); + return $this->getNombre().' '.$formatter->format($this->getFechaCelebracionAt()); } public function __construct() @@ -101,19 +73,17 @@ public function __construct() $this->groupCelebrations = new ArrayCollection(); } - - public function getId(): ?string { return $this->id; } - public function getFechaCelebracionAt(): ?DateTimeInterface + public function getFechaCelebracionAt(): ?\DateTimeInterface { return $this->fechaCelebracionAt; } - public function setFechaCelebracionAt(DateTimeInterface $fechaCelebracionAt): self + public function setFechaCelebracionAt(\DateTimeInterface $fechaCelebracionAt): self { $this->fechaCelebracionAt = $fechaCelebracionAt; @@ -144,9 +114,6 @@ public function setCapacidad(int $capacidad): self return $this; } - - - public function getCreaEvento(): ?User { return $this->creaEvento; @@ -255,18 +222,13 @@ public function setImageQr(?string $imageQr): self return $this; } - /** - * @return int|null - */ public function getInvitadosPresentes(): ?int { $criterio = CelebracionRepository::createIsPresenteCriteria(); + return count($this->invitados->matching($criterio)); } - /** - * @return Collection|WaitingList[] - */ public function getWaitingLists(): Collection { return $this->waitingLists; @@ -294,9 +256,6 @@ public function removeWaitingList(WaitingList $waitingList): self return $this; } - /** - * @return Collection|GroupCelebration[] - */ public function getGroupCelebrations(): Collection { return $this->groupCelebrations; @@ -320,6 +279,4 @@ public function removeGroupCelebration(GroupCelebration $groupCelebration): self return $this; } - - } diff --git a/src/Entity/ChannelFeed.php b/src/Entity/ChannelFeed.php index 04127c25..61d09147 100644 --- a/src/Entity/ChannelFeed.php +++ b/src/Entity/ChannelFeed.php @@ -7,62 +7,43 @@ use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; -/** - * @ORM\Entity(repositoryClass=ChannelFeedRepository::class) - */ -class ChannelFeed +#[ORM\Entity(repositoryClass: ChannelFeedRepository::class)] +class ChannelFeed implements \Stringable { - /** - * @ORM\Id - * @ORM\GeneratedValue - * @ORM\Column(type="integer") - */ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] private $id; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $title; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $autor; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $owner; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $descripcion; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $image; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $link; - /** - * @ORM\OneToMany(targetEntity=ItemFeed::class, mappedBy="channelFeed") - */ - private $item; + #[ORM\OneToMany(targetEntity: ItemFeed::class, mappedBy: 'channelFeed')] + private Collection $item; public function __construct() { $this->item = new ArrayCollection(); } - - public function __toString() + public function __toString(): string { - return $this->title; + return (string) $this->title; } public function getId(): ?int diff --git a/src/Entity/Comentario.php b/src/Entity/Comentario.php index 912d6342..44bb5239 100755 --- a/src/Entity/Comentario.php +++ b/src/Entity/Comentario.php @@ -6,50 +6,32 @@ use Doctrine\ORM\Mapping as ORM; use Gedmo\Timestampable\Traits\TimestampableEntity; -/** - * @ORM\Entity(repositoryClass=ComentarioRepository::class) - */ +#[ORM\Entity(repositoryClass: ComentarioRepository::class)] class Comentario { use TimestampableEntity; - /** - * @ORM\Id() - * @ORM\GeneratedValue() - * @ORM\Column(type="integer") - */ + + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] private $id; - /** - * @ORM\ManyToOne(targetEntity=User::class, inversedBy="comentarios") - * @ORM\JoinColumn(nullable=false) - */ - private $autor; + #[ORM\ManyToOne(inversedBy: 'comentarios')] + #[ORM\JoinColumn(nullable: false)] + private ?User $autor = null; - /** - * @ORM\Column(type="text", length=8000, nullable=true) - */ + #[ORM\Column(type: 'text', length: 8000, nullable: true)] private $contenido; - /** - * @ORM\ManyToOne(targetEntity=Entrada::class, inversedBy="comentarios") - */ - private $entrada; + #[ORM\ManyToOne(inversedBy: 'comentarios')] + private ?Entrada $entrada = null; - /** - * @ORM\ManyToOne(targetEntity=Principal::class, inversedBy="comentarios") - */ - private $principal; + #[ORM\ManyToOne(inversedBy: 'comentarios')] + private ?Principal $principal = null; - /** - * @ORM\Column(type="boolean", nullable=true) - */ + #[ORM\Column(type: 'boolean', nullable: true)] private $isDeleted = false; - /** - * @ORM\ManyToOne(targetEntity=Brote::class, inversedBy="comenttarios") - */ - private $brote; - public function getId(): ?int { return $this->id; @@ -114,16 +96,4 @@ public function setIsDeleted(?bool $isDeleted): self return $this; } - - public function getbrote(): ?Brote - { - return $this->brote; - } - - public function setbrote(?Brote $brote): self - { - $this->brote = $brote; - - return $this; - } } diff --git a/src/Entity/Contacto.php b/src/Entity/Contacto.php index 05a5b76f..25848c0e 100644 --- a/src/Entity/Contacto.php +++ b/src/Entity/Contacto.php @@ -7,52 +7,34 @@ use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; -/** - * @ORM\Entity(repositoryClass=ContactoRepository::class) - */ -class Contacto +#[ORM\Entity(repositoryClass: ContactoRepository::class)] +class Contacto implements \Stringable { - /** - * @ORM\Id - * @ORM\GeneratedValue - * @ORM\Column(type="integer") - */ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] private $id; - /** - * @ORM\ManyToOne(targetEntity=TipoContacto::class, inversedBy="contactos") - * @ORM\JoinColumn(nullable=false) - */ - private $tipo; + #[ORM\ManyToOne(inversedBy: 'contactos')] + #[ORM\JoinColumn(nullable: false)] + private ?TipoContacto $tipo = null; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $linkRoute; - /** - * @ORM\Column(type="string", length=510, nullable=true) - */ + #[ORM\Column(type: 'string', length: 510, nullable: true)] private $textoMensaje; - /** - * @ORM\Column(type="string", length=510, nullable=true) - */ + #[ORM\Column(type: 'string', length: 510, nullable: true)] private $textoPagina; - /** - * @ORM\ManyToMany(targetEntity=Ministerio::class, inversedBy="contactos") - */ + #[ORM\ManyToMany(targetEntity: Ministerio::class, inversedBy: 'contactos')] private $ministerio; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $nombre; - /** - * @ORM\ManyToMany(targetEntity=Entrada::class, mappedBy="contacto") - */ + #[ORM\ManyToMany(targetEntity: Entrada::class, mappedBy: 'contacto')] private $entradas; public function __construct() @@ -61,12 +43,11 @@ public function __construct() $this->entradas = new ArrayCollection(); } - public function __toString() + public function __toString(): string { - return $this->nombre; + return (string) $this->nombre; } - public function getId(): ?int { return $this->id; @@ -182,6 +163,4 @@ public function removeEntrada(Entrada $entrada): self return $this; } - - } diff --git a/src/Entity/EnlaceCorto.php b/src/Entity/EnlaceCorto.php index 12487607..feaa6c6c 100644 --- a/src/Entity/EnlaceCorto.php +++ b/src/Entity/EnlaceCorto.php @@ -7,35 +7,25 @@ use Gedmo\Mapping\Annotation as Gedmo; use Gedmo\Timestampable\Traits\TimestampableEntity; -/** - * @ORM\Entity(repositoryClass=EnlaceCortoRepository::class) - */ +#[ORM\Entity(repositoryClass: EnlaceCortoRepository::class)] class EnlaceCorto { use TimestampableEntity; - /** - * @ORM\Id - * @ORM\GeneratedValue - * @ORM\Column(type="integer") - */ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] private $id; - /** - * @ORM\Column(type="string", length=150, unique=true, nullable=true) - * @Gedmo\Slug(fields={"linkRoute"}) - */ + #[Gedmo\Slug(fields: ['linkRoute'])] + #[ORM\Column(type: 'string', length: 150, unique: true, nullable: true)] private $linkRoute; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $urlDestino; - /** - * @ORM\ManyToOne(targetEntity=User::class, inversedBy="enlaceCortos") - */ - private $usuario; + #[ORM\ManyToOne(inversedBy: 'enlaceCortos')] + private ?User $usuario = null; public function getId(): ?int { diff --git a/src/Entity/Entrada.php b/src/Entity/Entrada.php index 6ebdc692..5f972935 100755 --- a/src/Entity/Entrada.php +++ b/src/Entity/Entrada.php @@ -7,159 +7,109 @@ use App\Entity\Traits\OfertTrait; use App\Repository\EntradaRepository; use App\Service\UploaderHelper; -use DateTimeInterface; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; -use Doctrine\ORM\Mapping\JoinTable; +use Doctrine\ORM\Mapping\InverseJoinColumn; use Doctrine\ORM\Mapping\JoinColumn; +use Doctrine\ORM\Mapping\JoinTable; use Gedmo\Timestampable\Traits\TimestampableEntity; use Symfony\Component\Serializer\Annotation\Groups; use Symfony\Component\Validator\Constraints as Assert; -/** - * @ORM\Entity(repositoryClass="App\Repository\EntradaRepository") - */ -class Entrada +#[ORM\Entity(repositoryClass: EntradaRepository::class)] +class Entrada implements \Stringable { use TimestampableEntity; + use OfertTrait; + use LinksTrait; + use CssClass; - /** - * @ORM\Id() - * @ORM\GeneratedValue() - * @ORM\Column(type="integer") - */ - private ?int $id; - - /** - * @ORM\Column(type="string", length=255) - * @Groups("mail") - * @Assert\NotBlank - */ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] + private ?int $id = null; + #[ORM\Column(type: 'string', length: 255)] + #[Groups('mail')] + #[Assert\NotBlank] private string $titulo; - /** - * @ORM\Column(type="text", length=8000, nullable=true) - * @Groups("mail") - */ - private ?string $contenido; + #[ORM\Column(type: 'text', length: 8000, nullable: true)] + #[Groups('mail')] + private ?string $contenido = null; - /** - * @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="entradas") - * @ORM\JoinColumn(nullable=false) - */ - private ?User $autor; + #[ORM\ManyToOne(inversedBy: 'entradas')] + #[ORM\JoinColumn(nullable: false)] + private ?User $autor = null; - /** - * @ORM\Column(type="string", length=255, nullable=true) - * @Groups("mail") - */ - private ?string $imageFilename=null; + #[ORM\Column(type: 'string', length: 255, nullable: true)] + #[Groups('mail')] + private ?string $imageFilename = null; - /** - * @ORM\Column(type="datetime", nullable=true) - */ - private ?DateTimeInterface $publicadoAt; + #[ORM\Column(type: 'datetime', nullable: true)] + private ?\DateTimeInterface $publicadoAt = null; - /** - * @ORM\OneToMany(targetEntity=EntradaReference::class, mappedBy="entrada") - * @ORM\OrderBy({"posicion"="ASC"}) - */ + #[ORM\OneToMany(mappedBy: 'entrada', targetEntity: EntradaReference::class)] + #[ORM\OrderBy(['posicion' => 'ASC'])] private ?Collection $entradaReferences; - /** - * @ORM\Column(type="integer") - */ + #[ORM\Column(type: 'integer')] private ?int $likes = 0; - /** - * @ORM\OneToMany(targetEntity=Comentario::class, mappedBy="entrada", fetch="EXTRA_LAZY") - * @ORM\OrderBy({"createdAt" = "DESC"}) - */ + #[ORM\OneToMany(mappedBy: 'entrada', targetEntity: Comentario::class, fetch: 'EXTRA_LAZY')] + #[ORM\OrderBy(['createdAt' => 'DESC'])] private ?Collection $comentarios; - /** - * @ORM\ManyToMany(targetEntity=Principal::class, mappedBy="entradas") - */ + #[ORM\ManyToMany(targetEntity: Principal::class, mappedBy: 'entradas')] private ?Collection $principals; + #[ORM\Column(type: 'datetime', nullable: true)] + private ?\DateTimeInterface $eventoAt = null; - /** - * @ORM\Column(type="datetime", nullable=true) - */ - private ?DateTimeInterface $eventoAt; - - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ - private ?string $typeOrigin; + #[ORM\Column(type: 'string', length: 255, nullable: true)] + private ?string $typeOrigin = null; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ - private ?string $typeCarry; + #[ORM\Column(type: 'string', length: 255, nullable: true)] + private ?string $typeCarry = null; - /** - * @ORM\Column(type="integer", nullable=true) - */ - private ?int $orden; + #[ORM\Column(type: 'integer', nullable: true)] + private ?int $orden = null; - /** - * @ORM\Column(type="boolean", nullable=true) - */ - private ?bool $encabezado; + #[ORM\Column(type: 'boolean', nullable: true)] + private ?bool $encabezado = null; - /** - * @ORM\Column(type="boolean", nullable=true) - */ - private ?bool $destacado; + #[ORM\Column(type: 'boolean', nullable: true)] + private ?bool $destacado = null; - /** - * @ORM\ManyToOne(targetEntity=ModelTemplate::class, inversedBy="entradas") - */ - private ?ModelTemplate $modelTemplate; + #[ORM\ManyToOne(inversedBy: 'entradas')] + private ?ModelTemplate $modelTemplate = null; - /** - * @ORM\ManyToMany(targetEntity=Contacto::class, inversedBy="entradas") - */ + #[ORM\ManyToMany(targetEntity: Contacto::class, inversedBy: 'entradas')] private ?Collection $contacto; - /** - * @ORM\Column(type="boolean", nullable=true) - */ - private ?bool $isSinTitulo; + #[ORM\Column(type: 'boolean', nullable: true)] + private ?bool $isSinTitulo = null; - /** - * @ORM\Column(type="boolean", nullable=true) - */ - private ?bool $isPermanente; + #[ORM\Column(type: 'boolean', nullable: true)] + private ?bool $isPermanente = null; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ - private ?string $footer; + #[ORM\Column(type: 'string', length: 255, nullable: true)] + private ?string $footer = null; - /** - * @ORM\ManyToMany(targetEntity=ButtonLink::class, inversedBy="entradas") - */ + #[ORM\ManyToMany(targetEntity: ButtonLink::class, inversedBy: 'entradas')] private ?Collection $button; - /** - * @ORM\Column(type="string", length=150, nullable=true, unique=true) - */ - private ?string $identificador; + #[ORM\Column(type: 'string', length: 150, nullable: true, unique: true)] + private ?string $identificador = null; - /** - * @ORM\ManyToMany(targetEntity=Section::class, inversedBy="entradas") - * @JoinTable(name="section_entrada", - * joinColumns={@JoinColumn(name="entrada_id", referencedColumnName="id")}, - * inverseJoinColumns={@JoinColumn(name="section_id", referencedColumnName="id")} - * ) - */ + #[JoinTable(name: 'section_entrada')] + #[JoinColumn(name: 'entrada_id', referencedColumnName: 'id')] + #[InverseJoinColumn(name: 'section_id', referencedColumnName: 'id')] + #[ORM\ManyToMany(targetEntity: Section::class, inversedBy: 'entradas')] private Collection $sections; public function __construct() @@ -175,7 +125,7 @@ public function __construct() /** * @return string|null */ - public function __toString() + public function __toString(): string { return $this->titulo; } @@ -217,6 +167,7 @@ public function getAutor(): ?User public function setAutor(?User $autor): self { $this->autor = $autor; + return $this; } @@ -228,27 +179,29 @@ public function getImageFilename(): ?string public function setImageFilename(?string $imageFilename): self { $this->imageFilename = $imageFilename; + return $this; } - public function getPublicadoAt(): ?DateTimeInterface + public function getPublicadoAt(): ?\DateTimeInterface { return $this->publicadoAt; } - public function setPublicadoAt(?DateTimeInterface $publicadoAt): self + public function setPublicadoAt(?\DateTimeInterface $publicadoAt): self { $this->publicadoAt = $publicadoAt; + return $this; } public function getImagePath(): ?string { - return UploaderHelper::IMAGE_ENTRADA . '/' . $this->getImageFilename(); + return UploaderHelper::IMAGE_ENTRADA.'/'.$this->getImageFilename(); } /** - * @return null|Collection|EntradaReference[] + * @return Collection|EntradaReference[]|null */ public function getEntradaReferences(): ?Collection { @@ -263,26 +216,29 @@ public function getLikes(): ?int public function setLikes(int $likes): self { $this->likes = $likes; + return $this; } public function incrementaLikeCount(): self { $this->likes = $this->likes + 1; + return $this; } /** - * @return null|Collection|Comentario[] + * @return Collection|Comentario[]|null */ public function getComentariosNoDeleted(): ?Collection { $criterio = EntradaRepository::createNoDeletedCriteria(); + return $this->comentarios->matching($criterio); } /** - * @return null|Collection|Comentario[] + * @return Collection|Comentario[]|null */ public function getComentarios(): ?Collection { @@ -313,7 +269,7 @@ public function removeComentario(Comentario $comentario): self } /** - * @return null|Collection|Principal[] + * @return Collection|Principal[]|null */ public function getPrincipals(): ?Collection { @@ -340,20 +296,18 @@ public function removePrincipal(Principal $principal): self return $this; } - - public function getEventoAt(): ?DateTimeInterface + public function getEventoAt(): ?\DateTimeInterface { return $this->eventoAt; } - public function setEventoAt(?DateTimeInterface $eventoAt): self + public function setEventoAt(?\DateTimeInterface $eventoAt): self { $this->eventoAt = $eventoAt; return $this; } - public function getTypeOrigin(): ?string { return $this->typeOrigin; @@ -427,7 +381,7 @@ public function setModelTemplate(?ModelTemplate $modelTemplate): self } /** - * @return null|Collection|Contacto[] + * @return Collection|Contacto[]|null */ public function getContacto(): ?Collection { @@ -474,7 +428,6 @@ public function setIsPermanente(?bool $isPermanente): self return $this; } - public function getFooter(): ?string { return $this->footer; @@ -488,7 +441,7 @@ public function setFooter(?string $footer): self } /** - * @return null|Collection|ButtonLink[] + * @return Collection|ButtonLink[]|null */ public function getButton(): ?Collection { @@ -518,8 +471,8 @@ public function getIdentificador(): ?string public function setIdentificador(?string $identificador): self { - if(null === $identificador){ - $identificador = str_replace(' ', '-',strip_tags($this->titulo)); + if (null === $identificador) { + $identificador = str_replace(' ', '-', strip_tags($this->titulo)); } $this->identificador = $identificador; @@ -534,19 +487,21 @@ public function getSections(): Collection return $this->sections; } - public function addSection(Section $section=null): self + public function addSection(Section $section = null): self { - if($section) { + if ($section) { if (!$this->sections->contains($section)) { $this->sections[] = $section; } } + return $this; } public function removeSection(Section $section): self { $this->sections->removeElement($section); + return $this; } } diff --git a/src/Entity/EntradaReference.php b/src/Entity/EntradaReference.php index 0427424f..09cbb749 100755 --- a/src/Entity/EntradaReference.php +++ b/src/Entity/EntradaReference.php @@ -8,52 +8,36 @@ use Symfony\Component\Serializer\Annotation\Groups; use Symfony\Component\Validator\Constraints as Assert; -/** - * @ORM\Entity(repositoryClass=EntradaReferenceRepository::class) - */ +#[ORM\Entity(repositoryClass: EntradaReferenceRepository::class)] class EntradaReference { - /** - * @ORM\Id() - * @ORM\GeneratedValue() - * @ORM\Column(type="integer") - * @Groups("main") - */ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] + #[Groups('main')] private $id; - /** - * @ORM\ManyToOne(targetEntity=Entrada::class, inversedBy="entradaReferences") - */ - private $entrada; - - /** - * @ORM\Column(type="string", length=255) - * @Groups("main") - */ + #[ORM\Column(type: 'string', length: 255)] + #[Groups('main')] private $filename; - /** - * @ORM\Column(type="string", length=255) - * @Groups({"main", "input"}) - * @Assert\NotBlank() - * @Assert\Length(max="100") - */ + #[ORM\Column(type: 'string', length: 255)] + #[Groups(['main', 'input'])] + #[Assert\NotBlank] + #[Assert\Length(max: '100')] private $originalFilename; - /** - * @ORM\Column(type="string", length=255) - * @Groups("main") - */ + #[ORM\Column(type: 'string', length: 255)] + #[Groups('main')] private $mimeType; - /** - * @ORM\Column(type="integer", nullable=true) - */ + #[ORM\Column(type: 'integer', nullable: true)] private $posicion = 0; - public function __construct(Entrada $entrada) - { - $this->entrada = $entrada; + public function __construct( + #[ORM\ManyToOne(targetEntity: Entrada::class, inversedBy: 'entradaReferences')] + private Entrada $entrada + ) { } public function getId(): ?int diff --git a/src/Entity/GroupCelebration.php b/src/Entity/GroupCelebration.php index e0431aa2..8e4078d8 100644 --- a/src/Entity/GroupCelebration.php +++ b/src/Entity/GroupCelebration.php @@ -9,55 +9,38 @@ use Doctrine\ORM\Mapping as ORM; use Gedmo\Timestampable\Traits\TimestampableEntity; -/** - * @ORM\Entity(repositoryClass=GroupCelebrationRepository::class) - */ -class GroupCelebration +#[ORM\Entity(repositoryClass: GroupCelebrationRepository::class)] +class GroupCelebration implements \Stringable { use TimestampableEntity; + use ImageTrait; - /** - * @ORM\Id() - * @ORM\Column(type="string", length=36) - * @ORM\GeneratedValue(strategy="CUSTOM") - * @ORM\CustomIdGenerator(class="Ramsey\Uuid\Doctrine\UuidGenerator") - */ + #[ORM\Id] + #[ORM\Column(type: 'string', length: 36)] + #[ORM\GeneratedValue(strategy: 'CUSTOM')] + #[ORM\CustomIdGenerator(class: \Ramsey\Uuid\Doctrine\UuidGenerator::class)] private $id; - /** - * @ORM\Column(type="boolean", nullable=true) - */ + #[ORM\Column(type: 'boolean', nullable: true)] private $isActivo; - /** - * @ORM\ManyToMany(targetEntity=Celebracion::class, inversedBy="groupCelebrations") - */ + #[ORM\ManyToMany(targetEntity: Celebracion::class, inversedBy: 'groupCelebrations')] private $celebraciones; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $baseCss; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $btonCss; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $imageBg; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $title; - /** - * @ORM\Column(type="integer", nullable=true) - */ + #[ORM\Column(type: 'integer', nullable: true)] private $orden; public function __construct() @@ -65,9 +48,9 @@ public function __construct() $this->celebraciones = new ArrayCollection(); } - public function __toString() + public function __toString(): string { - return $this->title; + return (string) $this->title; } public function getId(): ?string @@ -170,6 +153,4 @@ public function setOrden(?int $orden): self return $this; } - - } diff --git a/src/Entity/IndexAlameda.php b/src/Entity/IndexAlameda.php index 12fc47f3..2aa6265c 100755 --- a/src/Entity/IndexAlameda.php +++ b/src/Entity/IndexAlameda.php @@ -6,97 +6,63 @@ use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; -/** - * @ORM\Entity(repositoryClass="App\Repository\IndexAlamedaRepository") - */ -class IndexAlameda +#[ORM\Entity(repositoryClass: \App\Repository\IndexAlamedaRepository::class)] +class IndexAlameda implements \Stringable { - /** - * @ORM\Id() - * @ORM\GeneratedValue() - * @ORM\Column(type="integer") - */ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] private $id; - /** - * @ORM\Column(type="string", length=255) - */ - private ?string $lema; - - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ - private ?string $lemaPrincipal; - - /** - * @ORM\Column(type="string", length=255) - */ - private ?string $lemaSinEspacio; - - - + #[ORM\Column(type: 'string', length: 255)] + private ?string $lema = null; + #[ORM\Column(type: 'string', length: 255, nullable: true)] + private ?string $lemaPrincipal = null; + #[ORM\Column(type: 'string', length: 255)] + private ?string $lemaSinEspacio = null; - /** - * @ORM\Column(type="string", length=255) - */ - private ?string $metaDescripcion; + #[ORM\Column(type: 'string', length: 255)] + private ?string $metaDescripcion = null; - /** - * @ORM\Column(type="string", length=255) - */ - private ?string $metaAutor; + #[ORM\Column(type: 'string', length: 255)] + private ?string $metaAutor = null; - /** - * @ORM\Column(type="string", length=255) - */ - private ?string $metaTitle; + #[ORM\Column(type: 'string', length: 255)] + private ?string $metaTitle = null; - /** - * @ORM\Column(type="string", length=255) - */ - private ?string $metaType; + #[ORM\Column(type: 'string', length: 255)] + private ?string $metaType = null; - /** - * @ORM\Column(type="string", length=255) - */ - private ?string $metaUrl; + #[ORM\Column(type: 'string', length: 255)] + private ?string $metaUrl = null; - /** - * @ORM\Column(type="string", length=255) - */ - private ?string $metaImage; + #[ORM\Column(type: 'string', length: 255)] + private ?string $metaImage = null; - /** - * @ORM\Column(type="string", length=255) - */ - private ?string $base; + #[ORM\Column(type: 'string', length: 255)] + private ?string $base = null; - /** - * @ORM\ManyToMany(targetEntity=Section::class, inversedBy="indexAlamedas") - * @ORM\OrderBy({"orden"="ASC"}) - */ + #[ORM\ManyToMany(targetEntity: Section::class, inversedBy: 'indexAlamedas')] + #[ORM\OrderBy(['orden' => 'ASC'])] private $section; - /** - * @ORM\OneToMany(targetEntity=BlocsFixes::class, mappedBy="indexAlameda") - */ + #[ORM\OneToMany(targetEntity: BlocsFixes::class, mappedBy: 'indexAlameda')] private Collection $blocs_fixes; - /** - * @ORM\ManyToOne(targetEntity=ModelTemplate::class) - */ - private ?ModelTemplate $template; + #[ORM\ManyToOne()] + private ?ModelTemplate $template = null; public function __construct() { $this->section = new ArrayCollection(); $this->blocs_fixes = new ArrayCollection(); } - public function __toString() + + public function __toString(): string { - return $this->base; + return (string) $this->base; } public function getId(): ?int @@ -140,12 +106,6 @@ public function setLemaSinEspacio(string $lemaSinEspacio): self return $this; } - - - - - - public function getMetaDescripcion(): ?string { return $this->metaDescripcion; @@ -265,7 +225,6 @@ public function getBlocsFixes(): Collection } /** - * @param BlocsFixes $blocsFix * @return $this */ public function addBlocsFix(BlocsFixes $blocsFix): self diff --git a/src/Entity/Invitado.php b/src/Entity/Invitado.php index d948faf1..cb103212 100644 --- a/src/Entity/Invitado.php +++ b/src/Entity/Invitado.php @@ -2,77 +2,54 @@ namespace App\Entity; - use Doctrine\ORM\Mapping as ORM; use Gedmo\Timestampable\Traits\TimestampableEntity; use Symfony\Component\Serializer\Annotation\Groups; -/** - * @ORM\Entity(repositoryClass="App\Repository\InvitadoRepository") - */ -class Invitado +#[ORM\Entity(repositoryClass: \App\Repository\InvitadoRepository::class)] +class Invitado implements \Stringable { use TimestampableEntity; - /** - * @ORM\Id() - * @ORM\Column(type="string", length=36) - * @ORM\GeneratedValue(strategy="CUSTOM") - * @ORM\CustomIdGenerator(class="Ramsey\Uuid\Doctrine\UuidGenerator") - */ - private $id; + #[ORM\Id] + #[ORM\Column(type: 'string', length: 36)] + #[ORM\GeneratedValue(strategy: 'CUSTOM')] + #[ORM\CustomIdGenerator(class: \Ramsey\Uuid\Doctrine\UuidGenerator::class)] + private $id; - /** - * @ORM\Column(type="string", length=255, nullable=true) - * @Groups("export_invitado") - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] + #[Groups('export_invitado')] private $telefono; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $dni; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $nombre; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $apellido; - /** - * @ORM\ManyToOne(targetEntity=Reservante::class, inversedBy="invitados") - * @ORM\JoinColumn(nullable=false) - */ - private $enlace; - - /** - * @ORM\ManyToOne(targetEntity=Celebracion::class, inversedBy="invitados") - * @ORM\JoinColumn(nullable=false) - */ - private $celebracion; - - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\ManyToOne(inversedBy: 'invitados')] + #[ORM\JoinColumn(nullable: false)] + private ?Reservante $enlace = null; + + #[ORM\ManyToOne(inversedBy: 'invitados')] + #[ORM\JoinColumn(nullable: false)] + private ?Celebracion $celebracion = null; + + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $email; - /** - * @ORM\Column(type="boolean", nullable=true) - */ + #[ORM\Column(type: 'boolean', nullable: true)] private $isEnlace; - /** - * @ORM\Column(type="boolean", nullable=true) - */ + #[ORM\Column(type: 'boolean', nullable: true)] private $isPresente; - public function __toString() + public function __toString(): string { - return $this->email . ' - ' .$this->apellido . ', '. $this->nombre; + return $this->email.' - '.$this->apellido.', '.$this->nombre; } public function getId(): ?string diff --git a/src/Entity/ItemFeed.php b/src/Entity/ItemFeed.php index 807c30f9..fe03bab1 100644 --- a/src/Entity/ItemFeed.php +++ b/src/Entity/ItemFeed.php @@ -5,68 +5,44 @@ use App\Repository\ItemFeedRepository; use Doctrine\ORM\Mapping as ORM; -/** - * @ORM\Entity(repositoryClass=ItemFeedRepository::class) - */ +#[ORM\Entity(repositoryClass: ItemFeedRepository::class)] class ItemFeed { - /** - * @ORM\Id - * @ORM\GeneratedValue - * @ORM\Column(type="integer") - */ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] private $id; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $title; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $descripcion; - /** - * @ORM\Column(type="datetime") - */ + #[ORM\Column(type: 'datetime')] private $pubDateAt; - /** - * @ORM\Column(type="string", length=510) - */ + #[ORM\Column(type: 'string', length: 510)] private $linkUrl; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $linkType; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $linkLength; - /** - * @ORM\Column(type="integer") - */ + #[ORM\Column(type: 'integer')] private $linkLongitud; - /** - * @ORM\Column(type="time") - */ + #[ORM\Column(type: 'time')] private $duracion; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $guid; - /** - * @ORM\ManyToOne(targetEntity=ChannelFeed::class, inversedBy="item") - * @ORM\JoinColumn(nullable=false) - */ - private $channelFeed; + #[ORM\ManyToOne(inversedBy: 'item')] + #[ORM\JoinColumn(nullable: false)] + private ?ChannelFeed $channelFeed = null; public function getId(): ?int { diff --git a/src/Entity/ItemMenu.php b/src/Entity/ItemMenu.php index d3efc7ae..54ceaa7d 100644 --- a/src/Entity/ItemMenu.php +++ b/src/Entity/ItemMenu.php @@ -10,78 +10,52 @@ use Doctrine\ORM\Mapping as ORM; use Gedmo\Timestampable\Traits\TimestampableEntity; -/** - * @ORM\Entity(repositoryClass=ItemMenuRepository::class) - */ +#[ORM\Entity(repositoryClass: ItemMenuRepository::class)] class ItemMenu { use TimestampableEntity; + use CssClass; + use IdentificadorTrait; - /** - * @ORM\Id() - * @ORM\Column(type="string", length=36) - * @ORM\GeneratedValue(strategy="CUSTOM") - * @ORM\CustomIdGenerator(class="Ramsey\Uuid\Doctrine\UuidGenerator") - */ + #[ORM\Id] + #[ORM\Column(type: 'string', length: 36)] + #[ORM\GeneratedValue(strategy: 'CUSTOM')] + #[ORM\CustomIdGenerator(class: \Ramsey\Uuid\Doctrine\UuidGenerator::class)] private $id; - /** - * @ORM\ManyToMany(targetEntity=Roles::class, inversedBy="itemMenus") - */ + #[ORM\ManyToMany(targetEntity: Roles::class, inversedBy: 'itemMenus')] private $role; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $label; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $badge; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $icon; - /** - * @ORM\Column(type="boolean", nullable=true) - */ + #[ORM\Column(type: 'boolean', nullable: true)] private $isExterno; - - - /** - * @ORM\Column(type="boolean", nullable=true) - */ + #[ORM\Column(type: 'boolean', nullable: true)] private $isActivo; - /** - * @ORM\ManyToOne(targetEntity=ItemMenu::class, inversedBy="itemMenus") - */ - private $parent; + #[ORM\ManyToOne(inversedBy: 'itemMenus')] + private ?ItemMenu $parent = null; - /** - * @ORM\OneToMany(targetEntity=ItemMenu::class, mappedBy="parent") - */ - private $itemMenus; + #[ORM\OneToMany(mappedBy: 'parent', targetEntity: ItemMenu::class)] + private Collection $itemMenus; - /** - * @ORM\ManyToOne(targetEntity=Principal::class, inversedBy="itemMenus") - */ - private $pathInterno; + #[ORM\ManyToOne(inversedBy: 'itemMenus')] + private ?Principal $pathInterno = null; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $pathLibre; - /** - * @ORM\ManyToMany(targetEntity=Menu::class, inversedBy="itemMenus") - */ + #[ORM\ManyToMany(targetEntity: Menu::class, inversedBy: 'itemMenus')] private $menu; public function __construct() @@ -168,8 +142,6 @@ public function setIsExterno(?bool $isExterno): self return $this; } - - public function getIsActivo(): ?bool { return $this->isActivo; diff --git a/src/Entity/Menu.php b/src/Entity/Menu.php index 7f45830e..ea60d618 100644 --- a/src/Entity/Menu.php +++ b/src/Entity/Menu.php @@ -10,37 +10,28 @@ use Doctrine\ORM\Mapping as ORM; use Gedmo\Timestampable\Traits\TimestampableEntity; -/** - * @ORM\Entity(repositoryClass=MenuRepository::class) - */ +#[ORM\Entity(repositoryClass: MenuRepository::class)] class Menu { use TimestampableEntity; + use CssClass; + use IdentificadorTrait; - /** - * @ORM\Id() - * @ORM\Column(type="string", length=36) - * @ORM\GeneratedValue(strategy="CUSTOM") - * @ORM\CustomIdGenerator(class="Ramsey\Uuid\Doctrine\UuidGenerator") - */ + #[ORM\Id] + #[ORM\Column(type: 'string', length: 36)] + #[ORM\GeneratedValue(strategy: 'CUSTOM')] + #[ORM\CustomIdGenerator(class: \Ramsey\Uuid\Doctrine\UuidGenerator::class)] private $id; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $Nombre; - - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $identificador; - /** - * @ORM\ManyToMany(targetEntity=ItemMenu::class, mappedBy="menu") - */ + #[ORM\ManyToMany(targetEntity: ItemMenu::class, mappedBy: 'menu')] private $itemMenus; public function __construct() @@ -48,8 +39,6 @@ public function __construct() $this->itemMenus = new ArrayCollection(); } - - public function getId(): ?int { return $this->id; @@ -67,9 +56,6 @@ public function setNombre(string $Nombre): self return $this; } - - - /** * @return Collection|ItemMenu[] */ @@ -96,6 +82,4 @@ public function removeItemMenu(ItemMenu $itemMenu): self return $this; } - - } diff --git a/src/Entity/MetaBase.php b/src/Entity/MetaBase.php index 063f4494..8caf5f80 100755 --- a/src/Entity/MetaBase.php +++ b/src/Entity/MetaBase.php @@ -4,71 +4,46 @@ use Doctrine\ORM\Mapping as ORM; -/** - * @ORM\Entity(repositoryClass="App\Repository\MetaBaseRepository") - */ +#[ORM\Entity(repositoryClass: \App\Repository\MetaBaseRepository::class)] class MetaBase { - /** - * @ORM\Id() - * @ORM\GeneratedValue() - * @ORM\Column(type="integer") - */ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] private $id; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $lema; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $lemaPrincipal; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $metaDescripcion; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $metaAutor; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $metaTitle; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $metaType; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $metaUrl; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $siteName; - /** - * @ORM\Column(type="string", length=255) - */ - private $base; + #[ORM\Column(type: 'string', length: 255)] + private $base = 'index'; - /** - * @ORM\Column(type="text", nullable=true) - */ - private ?string $favicon; + #[ORM\Column(type: 'text', nullable: true)] + private ?string $favicon = null; public function __construct() { - $this->base = 'index'; } public function getId(): ?int diff --git a/src/Entity/Ministerio.php b/src/Entity/Ministerio.php index 2cf47cd4..45b26b59 100644 --- a/src/Entity/Ministerio.php +++ b/src/Entity/Ministerio.php @@ -7,36 +7,24 @@ use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; -/** - * @ORM\Entity(repositoryClass=MinisterioRepository::class) - */ -class Ministerio +#[ORM\Entity(repositoryClass: MinisterioRepository::class)] +class Ministerio implements \Stringable { - /** - * @ORM\Id - * @ORM\GeneratedValue - * @ORM\Column(type="integer") - */ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] private $id; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $nombre; - /** - * @ORM\OneToMany(targetEntity=Principal::class, mappedBy="ministerio") - */ - private $page; + #[ORM\OneToMany(mappedBy: 'ministerio', targetEntity: Principal::class)] + private Collection $page; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $referente; - /** - * @ORM\ManyToMany(targetEntity=Contacto::class, mappedBy="ministerio") - */ + #[ORM\ManyToMany(targetEntity: Contacto::class, mappedBy: 'ministerio')] private $contactos; public function __construct() @@ -45,9 +33,9 @@ public function __construct() $this->contactos = new ArrayCollection(); } - public function __toString() + public function __toString(): string { - return $this->nombre; + return (string) $this->nombre; } public function getId(): ?int diff --git a/src/Entity/ModelTemplate.php b/src/Entity/ModelTemplate.php index 19c4e046..f57f1843 100644 --- a/src/Entity/ModelTemplate.php +++ b/src/Entity/ModelTemplate.php @@ -7,56 +7,38 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; -use Gedmo\Mapping\Annotation as Gedmo; -/** - * @ORM\Entity(repositoryClass=ModelTemplateRepository::class) - */ -class ModelTemplate +#[ORM\Entity(repositoryClass: ModelTemplateRepository::class)] +class ModelTemplate implements \Stringable { use ImageTrait; - /** - * @ORM\Id - * @ORM\GeneratedValue - * @ORM\Column(type="integer") - */ + + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] private $id; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $name; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $description; - /** - * @ORM\Column(type="string", length=150, unique=true) - */ + #[ORM\Column(type: 'string', length: 150, unique: true)] private $identifier; - /** - * @ORM\ManyToOne(targetEntity=TypeBlock::class, inversedBy="modelTemplates") - * @ORM\OrderBy({"name"= "ASC"}) - */ - private $block; + #[ORM\ManyToOne(inversedBy: 'modelTemplates')] + #[ORM\OrderBy(['name' => 'ASC'])] + private ?TypeBlock $block = null; - /** - * @ORM\OneToMany(targetEntity=Principal::class, mappedBy="modelTemplate") - */ - private $principals; + #[ORM\OneToMany(mappedBy: 'modelTemplate', targetEntity: Principal::class)] + private Collection $principals; - /** - * @ORM\OneToMany(targetEntity=Section::class, mappedBy="modelTemplate") - */ - private $sections; + #[ORM\OneToMany(mappedBy: 'modelTemplate', targetEntity: Section::class)] + private Collection $sections; - /** - * @ORM\OneToMany(targetEntity=Entrada::class, mappedBy="modelTemplate") - */ - private $entradas; + #[ORM\OneToMany(mappedBy: 'modelTemplate', targetEntity: Entrada::class)] + private Collection $entradas; public function __construct() { @@ -65,9 +47,9 @@ public function __construct() $this->entradas = new ArrayCollection(); } - public function __toString() + public function __toString(): string { - return $this->identifier; + return (string) $this->identifier; } public function getId(): ?int diff --git a/src/Entity/NewsSite.php b/src/Entity/NewsSite.php index 8e00f486..79eb63ed 100644 --- a/src/Entity/NewsSite.php +++ b/src/Entity/NewsSite.php @@ -6,47 +6,31 @@ use Doctrine\ORM\Mapping as ORM; use Ramsey\Uuid\Uuid; -/** - * @ORM\Entity(repositoryClass=NewsSiteRepository::class) - */ -class NewsSite +#[ORM\Entity(repositoryClass: NewsSiteRepository::class)] +class NewsSite implements \Stringable { - /** - * @ORM\Id - * @ORM\Column(type="string", length=36) - * @ORM\GeneratedValue(strategy="CUSTOM") - * @ORM\CustomIdGenerator(class="Ramsey\Uuid\Doctrine\UuidGenerator") - */ + #[ORM\Id] + #[ORM\Column(type: 'string', length: 36)] + #[ORM\GeneratedValue(strategy: 'CUSTOM')] + #[ORM\CustomIdGenerator(class: \Ramsey\Uuid\Doctrine\UuidGenerator::class)] private $id; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $srcSite; - /** - * @ORM\Column(type="string", length=510) - */ + #[ORM\Column(type: 'string', length: 510)] private $srcCodigo; - /** - * @ORM\Column(type="boolean", nullable=true) - */ + #[ORM\Column(type: 'boolean', nullable: true)] private $isEnabled; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $srcType; - /** - * @ORM\Column(type="string", length=510, nullable=true) - */ + #[ORM\Column(type: 'string', length: 510, nullable: true)] private $srcParameters; - /** - * @ORM\Column(type="string", length=155, unique=true ) - */ + #[ORM\Column(type: 'string', length: 155, unique: true)] private $identificador; public function __construct() @@ -54,9 +38,9 @@ public function __construct() $this->id = Uuid::uuid4()->toString(); } - public function __toString() + public function __toString(): string { - return $this->getIdentificador(); + return (string) $this->getIdentificador(); } public function getId(): ?string diff --git a/src/Entity/PageIndex.php b/src/Entity/PageIndex.php index b4e7e03f..92972de7 100755 --- a/src/Entity/PageIndex.php +++ b/src/Entity/PageIndex.php @@ -4,28 +4,20 @@ use Doctrine\ORM\Mapping as ORM; -/** - * @ORM\Entity(repositoryClass="App\Repository\PageIndexRepository") - */ +#[ORM\Entity(repositoryClass: \App\Repository\PageIndexRepository::class)] class PageIndex { - /** - * @ORM\Id() - * @ORM\GeneratedValue() - * @ORM\Column(type="integer") - */ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] private $id; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $name; - /** - * @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="pageIndices") - * @ORM\JoinColumn(nullable=false) - */ - private $autor; + #[ORM\ManyToOne(inversedBy: 'pageIndices')] + #[ORM\JoinColumn(nullable: false)] + private ?User $autor = null; public function getId(): ?int { diff --git a/src/Entity/Principal.php b/src/Entity/Principal.php index d1dc4207..db3080d7 100755 --- a/src/Entity/Principal.php +++ b/src/Entity/Principal.php @@ -12,125 +12,83 @@ use Symfony\Component\Serializer\Annotation\Groups; use Symfony\Component\Validator\Constraints as Assert; -/** - * @ORM\Entity(repositoryClass=PrincipalRepository::class) - */ -class Principal +#[ORM\Entity(repositoryClass: PrincipalRepository::class)] +class Principal implements \Stringable { - use TimestampableEntity; + use ImageTrait; + use CssClass; - /** - * @ORM\Id() - * @ORM\GeneratedValue() - * @ORM\Column(type="integer") - */ - private ?int $id; + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] + private ?int $id = null; - /** - * @ORM\ManyToOne(targetEntity=User::class, inversedBy="principal") - * @ORM\JoinColumn(nullable=false) - */ - private ?User $autor; + #[ORM\ManyToOne(inversedBy: 'principal')] + #[ORM\JoinColumn(nullable: false)] + private ?User $autor = null; - /** - * @ORM\Column(type="string", length=255) - * @Assert\NotBlank(message="El título de la página, no debe estar en blanco") - * @Groups("mail") - */ - private ?string $titulo; + #[ORM\Column(type: 'string', length: 255)] + #[Assert\NotBlank(message: 'El título de la página, no debe estar en blanco')] + #[Groups('mail')] + private ?string $titulo = null; - /** - * @ORM\Column(type="string", length=2550) - * @Groups("mail") - */ - private ?string $contenido; - - /** - * @ORM\Column(type="string", length=150, unique=true, nullable=true) - * @Groups("mail") - */ - private ?string $linkRoute; + #[ORM\Column(type: 'string', length: 2550)] + #[Groups('mail')] + private ?string $contenido = null; + #[ORM\Column(type: 'string', length: 150, unique: true, nullable: true)] + #[Groups('mail')] + private ?string $linkRoute = null; - /** - * @ORM\Column(type="integer", nullable=true) - */ - private ?int $likes; + #[ORM\Column(type: 'integer', nullable: true)] + private ?int $likes = null; - /** - * @ORM\OneToMany(targetEntity=Comentario::class, mappedBy="principal") - */ - private $comentarios; + #[ORM\OneToMany(targetEntity: Comentario::class, mappedBy: 'principal')] + private Collection $comentarios; - /** - * @ORM\ManyToMany(targetEntity=Entrada::class, inversedBy="principals") - */ + #[ORM\ManyToMany(targetEntity: Entrada::class, inversedBy: 'principals')] private $entradas; - /** - * @ORM\Column(type="boolean", nullable=true) - */ - private ?bool $isActive; + #[ORM\Column(type: 'boolean', nullable: true)] + private ?bool $isActive = null; - /** - * @ORM\OneToMany(targetEntity=Section::class, mappedBy="principal") - */ - private $section; + #[ORM\OneToMany(targetEntity: Section::class, mappedBy: 'principal')] + private Collection $section; - /** - * @ORM\ManyToOne(targetEntity=Principal::class, inversedBy="brote") - */ - private $principal; + #[ORM\ManyToOne(inversedBy: 'brote')] + private ?Principal $principal = null; - /** - * @ORM\OneToMany(targetEntity=Principal::class, mappedBy="principal") - */ - private $brote; + #[ORM\OneToMany(targetEntity: Principal::class, mappedBy: 'principal')] + private Collection $brote; - /** - * @ORM\ManyToOne(targetEntity=ModelTemplate::class, inversedBy="principals") - */ - private $modelTemplate; + #[ORM\ManyToOne(inversedBy: 'principals')] + private ?ModelTemplate $modelTemplate = null; - /** - * @ORM\ManyToOne(targetEntity=Ministerio::class, inversedBy="page") - */ - private $ministerio; + #[ORM\ManyToOne(inversedBy: 'page')] + private ?Ministerio $ministerio = null; - /** - * @ORM\ManyToMany(targetEntity=Section::class, inversedBy="principales") - * @ORM\OrderBy({"orden"="ASC"}) - */ + #[ORM\ManyToMany(targetEntity: Section::class, inversedBy: 'principales')] + #[ORM\OrderBy(['orden' => 'ASC'])] private $secciones; - /** - * @ORM\ManyToMany(targetEntity=ButtonLink::class, inversedBy="principals") - */ + #[ORM\ManyToMany(targetEntity: ButtonLink::class, inversedBy: 'principals')] private $button; - /** - * @ORM\OneToMany(targetEntity=ItemMenu::class, mappedBy="pathInterno") - */ - private $itemMenus; + #[ORM\OneToMany(targetEntity: ItemMenu::class, mappedBy: 'pathInterno')] + private Collection $itemMenus; - /** - * @ORM\Column(type="boolean", nullable=true) - * @Groups("mail") - */ - private ?bool $isLinkExterno; + #[ORM\Column(type: 'boolean', nullable: true)] + #[Groups('mail')] + private ?bool $isLinkExterno = null; - /** - * @ORM\Column(type="string", length=255, nullable=true) - * @Groups("mail") - */ - private ?string $linkPosting; + #[ORM\Column(type: 'string', length: 255, nullable: true)] + #[Groups('mail')] + private ?string $linkPosting = null; - /** - * @ORM\ManyToMany(targetEntity=BlocsFixes::class, mappedBy="page") - */ + #[ORM\ManyToMany(targetEntity: BlocsFixes::class, mappedBy: 'page')] private Collection $blocsFixes; public function __construct() @@ -144,9 +102,9 @@ public function __construct() $this->blocsFixes = new ArrayCollection(); } - public function __toString() + public function __toString(): string { - return $this->titulo; + return (string) $this->titulo; } public function getId(): ?int @@ -162,6 +120,7 @@ public function getAutor(): ?User public function setAutor(?User $autor): self { $this->autor = $autor; + return $this; } @@ -173,6 +132,7 @@ public function getTitulo(): ?string public function setTitulo(string $titulo): self { $this->titulo = $titulo; + return $this; } @@ -195,9 +155,9 @@ public function getLinkRoute(): ?string public function setLinkRoute(?string $linkRoute): self { - ($linkRoute == null ? $linkRoute = strtolower( + null == $linkRoute ? $linkRoute = strtolower( str_replace(' ', '-', trim($this->titulo.'-'.$this->id)) - ) : $linkRoute); + ) : $linkRoute; $this->linkRoute = strip_tags(strtolower(str_replace(' ', '-', trim($linkRoute)))); return $this; @@ -229,6 +189,7 @@ public function addComentario(Comentario $comentario): self $this->comentarios[] = $comentario; $comentario->setPrincipal($this); } + return $this; } @@ -241,6 +202,7 @@ public function removeComentario(Comentario $comentario): self $comentario->setPrincipal(null); } } + return $this; } @@ -257,6 +219,7 @@ public function addEntrada(Entrada $entrada): self if (!$this->entradas->contains($entrada)) { $this->entradas[] = $entrada; } + return $this; } @@ -295,6 +258,7 @@ public function addSection(Section $section): self $this->section[] = $section; $section->setPrincipal($this); } + return $this; } @@ -307,6 +271,7 @@ public function removeSection(Section $section): self $section->setPrincipal(null); } } + return $this; } @@ -336,6 +301,7 @@ public function addBrote(self $brote): self $this->brote[] = $brote; $brote->setPrincipal($this); } + return $this; } @@ -360,6 +326,7 @@ public function getModelTemplate(): ?ModelTemplate public function setModelTemplate(?ModelTemplate $modelTemplate): self { $this->modelTemplate = $modelTemplate; + return $this; } @@ -388,12 +355,14 @@ public function addSeccione(Section $seccione): self if (!$this->secciones->contains($seccione)) { $this->secciones[] = $seccione; } + return $this; } public function removeSeccione(Section $seccione): self { $this->secciones->removeElement($seccione); + return $this; } @@ -410,12 +379,14 @@ public function addButton(ButtonLink $button): self if (!$this->button->contains($button)) { $this->button[] = $button; } + return $this; } public function removeButton(ButtonLink $button): self { $this->button->removeElement($button); + return $this; } @@ -433,6 +404,7 @@ public function addItemMenu(ItemMenu $itemMenu): self $this->itemMenus[] = $itemMenu; $itemMenu->setPathInterno($this); } + return $this; } @@ -444,6 +416,7 @@ public function removeItemMenu(ItemMenu $itemMenu): self $itemMenu->setPathInterno(null); } } + return $this; } diff --git a/src/Entity/RelacionSectionEntrada.php b/src/Entity/RelacionSectionEntrada.php index 6cd5b393..84073ab3 100644 --- a/src/Entity/RelacionSectionEntrada.php +++ b/src/Entity/RelacionSectionEntrada.php @@ -5,31 +5,21 @@ use App\Repository\RelacionSectionEntradaRepository; use Doctrine\ORM\Mapping as ORM; -/** - * @ORM\Entity(repositoryClass=RelacionSectionEntradaRepository::class) - */ +#[ORM\Entity(repositoryClass: RelacionSectionEntradaRepository::class)] class RelacionSectionEntrada { - /** - * @ORM\Id() - * @ORM\GeneratedValue() - * @ORM\Column(type="integer") - */ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] private $id; - /** - * @ORM\ManyToOne(targetEntity=Section::class, inversedBy="relacionSectionEntradas") - */ - private $section; + #[ORM\ManyToOne(inversedBy: 'relacionSectionEntradas')] + private ?Section $section = null; - /** - * @ORM\ManyToOne(targetEntity=Entrada::class, inversedBy="relacionSectionEntradas") - */ - private $entrada; + #[ORM\ManyToOne(inversedBy: 'relacionSectionEntradas')] + private ?Entrada $entrada = null; - /** - * @ORM\Column(type="integer", nullable=true) - */ + #[ORM\Column(type: 'integer', nullable: true)] private $orden; public function getId(): ?int diff --git a/src/Entity/Reservante.php b/src/Entity/Reservante.php index cfe8731f..42ce04c9 100644 --- a/src/Entity/Reservante.php +++ b/src/Entity/Reservante.php @@ -7,63 +7,44 @@ use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; -/** - * @ORM\Entity(repositoryClass=ReservanteRepository::class) - */ -class Reservante +#[ORM\Entity(repositoryClass: ReservanteRepository::class)] +class Reservante implements \Stringable { - /** - * @ORM\Id() - * @ORM\Column(type="string", length=36) - * @ORM\GeneratedValue(strategy="CUSTOM") - * @ORM\CustomIdGenerator(class="Ramsey\Uuid\Doctrine\UuidGenerator") - */ + #[ORM\Id] + #[ORM\Column(type: 'string', length: 36)] + #[ORM\GeneratedValue(strategy: 'CUSTOM')] + #[ORM\CustomIdGenerator(class: \Ramsey\Uuid\Doctrine\UuidGenerator::class)] private $id; - /** - * @ORM\ManyToOne(targetEntity=Celebracion::class, inversedBy="reservantes") - * @ORM\JoinColumn(nullable=false) - */ - private $celebracion; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\ManyToOne(inversedBy: 'reservantes')] + #[ORM\JoinColumn(nullable: false)] + private ?Celebracion $celebracion = null; + + #[ORM\Column(type: 'string', length: 255)] private $email; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $apellido; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $nombre; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $telefono; - /** - * @ORM\Column(type="boolean", nullable=true) - */ + #[ORM\Column(type: 'boolean', nullable: true)] private $isPresente; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $documento; - /** - * @ORM\OneToMany(targetEntity=Invitado::class, mappedBy="enlace") - * @ORM\OrderBy({"nombre"= "ASC"}) - */ - private $invitados; + #[ORM\OneToMany(mappedBy: 'enlace', targetEntity: Invitado::class)] + #[ORM\OrderBy(['nombre' => 'ASC'])] + private Collection $invitados; - public function __toString() + public function __toString(): string { - return $this->email . ' - ' .$this->apellido . ', '. $this->getNombre(); + return $this->email.' - '.$this->apellido.', '.$this->getNombre(); } public function __construct() @@ -71,8 +52,6 @@ public function __construct() $this->invitados = new ArrayCollection(); } - - public function getId(): ?string { return $this->id; @@ -191,6 +170,4 @@ public function removeInvitado(Invitado $invitado): self return $this; } - - } diff --git a/src/Entity/ResetPasswordRequest.php b/src/Entity/ResetPasswordRequest.php index 6f7faed6..f869c77e 100644 --- a/src/Entity/ResetPasswordRequest.php +++ b/src/Entity/ResetPasswordRequest.php @@ -7,29 +7,21 @@ use SymfonyCasts\Bundle\ResetPassword\Model\ResetPasswordRequestInterface; use SymfonyCasts\Bundle\ResetPassword\Model\ResetPasswordRequestTrait; -/** - * @ORM\Entity(repositoryClass=ResetPasswordRequestRepository::class) - */ +#[ORM\Entity(repositoryClass: ResetPasswordRequestRepository::class)] class ResetPasswordRequest implements ResetPasswordRequestInterface { use ResetPasswordRequestTrait; - /** - * @ORM\Id - * @ORM\GeneratedValue - * @ORM\Column(type="integer") - */ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] private $id; - /** - * @ORM\ManyToOne(targetEntity=User::class) - * @ORM\JoinColumn(nullable=false) - */ - private $user; - - public function __construct(object $user, \DateTimeInterface $expiresAt, string $selector, string $hashedToken) + public function __construct( + #[ORM\ManyToOne(targetEntity: User::class)] + #[ORM\JoinColumn(nullable: false)] + private object $user, \DateTimeInterface $expiresAt, string $selector, string $hashedToken) { - $this->user = $user; $this->initialize($expiresAt, $selector, $hashedToken); } diff --git a/src/Entity/Roles.php b/src/Entity/Roles.php index aed04a47..899364ed 100644 --- a/src/Entity/Roles.php +++ b/src/Entity/Roles.php @@ -7,42 +7,28 @@ use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; -/** - * @ORM\Entity(repositoryClass=RolesRepository::class) - * @ORM\HasLifecycleCallbacks() - */ -class Roles +#[ORM\Entity(repositoryClass: RolesRepository::class)] +#[ORM\HasLifecycleCallbacks] +class Roles implements \Stringable { - /** - * @ORM\Id - * @ORM\GeneratedValue - * @ORM\Column(type="integer") - */ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] private $id; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $nombre; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $identificador; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $descripcion; - /** - * @ORM\Column(type="boolean") - */ + #[ORM\Column(type: 'boolean')] private $isActivo; - /** - * @ORM\ManyToMany(targetEntity=ItemMenu::class, mappedBy="role") - */ + #[ORM\ManyToMany(targetEntity: ItemMenu::class, mappedBy: 'role')] private $itemMenus; public function __construct() @@ -52,14 +38,14 @@ public function __construct() public function __toString(): string { - return $this->getIdentificador(); + return (string) $this->getIdentificador(); } -// public function __construct() -// { -// $nombre = $this->nombre; -// $this->identificador = 'ROLE_'.$this->nombre; -// } + // public function __construct() + // { + // $nombre = $this->nombre; + // $this->identificador = 'ROLE_'.$this->nombre; + // } public function getId(): ?int { @@ -83,14 +69,14 @@ public function getIdentificador(): ?string return $this->identificador; } -// public function setIdentificador(string $nombre): self -// { -// -//// $this->identificador = $identificador; -// $this->identificador = 'ROLE_'.$this->getNombre(); -// -// return $this; -// } + // public function setIdentificador(string $nombre): self + // { + // + // // $this->identificador = $identificador; + // $this->identificador = 'ROLE_'.$this->getNombre(); + // + // return $this; + // } public function getDescripcion(): ?string { @@ -104,10 +90,8 @@ public function setDescripcion(string $descripcion): self return $this; } - /** - * @ORM\PrePersist - * @ORM\PreUpdate - */ + #[ORM\PrePersist] + #[ORM\PreUpdate] public function setIdentificador(): void { $this->identificador = 'ROLE_'.$this->nombre; diff --git a/src/Entity/Section.php b/src/Entity/Section.php index c4cc0911..23add021 100644 --- a/src/Entity/Section.php +++ b/src/Entity/Section.php @@ -7,136 +7,94 @@ use App\Entity\Traits\LinksTrait; use App\Entity\Traits\OfertTrait; use App\Repository\SectionRepository; -use DateTime; -use DateTimeInterface; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; use Gedmo\Timestampable\Traits\TimestampableEntity; use Symfony\Component\Serializer\Annotation\Groups; -/** - * @ORM\Entity(repositoryClass=SectionRepository::class) - */ -class Section +#[ORM\Entity(repositoryClass: SectionRepository::class)] +class Section implements \Stringable { use OfertTrait; + use ImageTrait; + use LinksTrait; + use CssClass; + use TimestampableEntity; - /** - * @ORM\Id() - * @ORM\GeneratedValue() - * @ORM\Column(type="integer") - * @Groups("main") - */ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] + #[Groups('main')] private $id; - /** - * @ORM\Column(type="string", length=255) - * @Groups("main") - */ - private ?string $name; - + #[ORM\Column(type: 'string', length: 255)] + #[Groups('main')] + private ?string $name = null; - /** - * @ORM\Column(type="string", length=100, nullable=true) - * @Groups("main") - */ - private ?string $identificador; - - /** - * @ORM\Column(type="boolean", nullable=true) - */ - private ?bool $disponible; + #[ORM\Column(type: 'string', length: 100, nullable: true)] + #[Groups('main')] + private ?string $identificador = null; - /** - * @ORM\Column(type="integer", nullable=true) - */ - private ?int $columns; + #[ORM\Column(type: 'boolean', nullable: true)] + private ?bool $disponible = null; - /** - * @ORM\Column(type="text", nullable=true) - * @Groups("main") - */ - private ?string $description; + #[ORM\Column(type: 'integer', nullable: true)] + private ?int $columns = null; - /** - * @ORM\Column(type="datetime", nullable=true) - */ - private ?DateTimeInterface $disponibleAt; + #[ORM\Column(type: 'text', nullable: true)] + #[Groups('main')] + private ?string $description = null; - /** - * @ORM\ManyToMany(targetEntity=IndexAlameda::class, mappedBy="section") - */ + #[ORM\ManyToMany(targetEntity: IndexAlameda::class, mappedBy: 'section')] private Collection $indexAlamedas; - /** - * @ORM\ManyToOne(targetEntity=User::class, inversedBy="sections") - */ - private ?User $autor; + #[ORM\ManyToOne(inversedBy: 'sections')] + private ?User $autor = null; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ - private ?string $template; + #[ORM\Column(type: 'string', length: 255, nullable: true)] + private ?string $template = null; - /** - * @ORM\Column(type="text", length=8000, nullable=true) - * @Groups("mail") - */ - private ?string $contenido; + #[ORM\Column(type: 'text', length: 8000, nullable: true)] + #[Groups('mail')] + private ?string $contenido = null; - /** - * @ORM\Column(type="integer", nullable=true) - * @Groups("main") - */ - private ?int $orden; + #[ORM\Column(type: 'integer', nullable: true)] + #[Groups('main')] + private ?int $orden = null; - /** - * @ORM\ManyToOne(targetEntity=Principal::class, inversedBy="section") - * @Groups("mail") - */ - private ?Principal $principal; + #[ORM\ManyToOne(inversedBy: 'section')] + #[Groups('mail')] + private ?Principal $principal = null; - /** - * @ORM\Column(type="string", length=255, nullable=true) - * @Groups({"main", "mail"}) - */ - private ?string $title; + #[ORM\Column(type: 'string', length: 255, nullable: true)] + #[Groups(['main', 'mail'])] + private ?string $title = null; - /** - * @ORM\ManyToOne(targetEntity=ModelTemplate::class, inversedBy="sections") - * @Groups("main") - */ - private ?ModelTemplate $modelTemplate; + #[ORM\ManyToOne(inversedBy: 'sections')] + #[Groups('main')] + private ?ModelTemplate $modelTemplate = null; - /** - * @ORM\ManyToMany(targetEntity=Principal::class, mappedBy="secciones") - * @Groups("mail") - */ + #[ORM\ManyToMany(targetEntity: Principal::class, mappedBy: 'secciones')] + #[Groups('mail')] private Collection $principales; - /** - * @ORM\ManyToMany(targetEntity=ButtonLink::class, inversedBy="sections") - */ + #[ORM\ManyToMany(targetEntity: ButtonLink::class, inversedBy: 'sections')] private Collection $button; - /** - * @ORM\ManyToMany(targetEntity=Entrada::class, mappedBy="sections") - */ + #[ORM\ManyToMany(targetEntity: Entrada::class, mappedBy: 'sections')] private Collection $entradas; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ - private ?string $footer; + #[ORM\Column(type: 'string', length: 255, nullable: true)] + private ?string $footer = null; - public function __toString() + public function __toString(): string { - return $this->name; + return (string) $this->name; } public function __construct() @@ -144,7 +102,7 @@ public function __construct() $this->indexAlamedas = new ArrayCollection(); $this->principales = new ArrayCollection(); $this->button = new ArrayCollection(); - $this->createdAt = new DateTime(); + $this->createdAt = new \DateTime(); $this->markAsUpdated(); $this->entradas = new ArrayCollection(); } @@ -214,23 +172,18 @@ public function setDescription(?string $description): self return $this; } - public function getDisponibleAt(): ?DateTimeInterface + public function getDisponibleAt(): ?\DateTimeInterface { return $this->disponibleAt; } - public function setDisponibleAt(?DateTimeInterface $disponibleAt): self + public function setDisponibleAt(?\DateTimeInterface $disponibleAt): self { $this->disponibleAt = $disponibleAt; return $this; } - - - - - /** * @return Collection|IndexAlameda[] */ @@ -259,8 +212,6 @@ public function removeIndexAlameda(IndexAlameda $indexAlameda): self return $this; } - - public function getAutor(): ?User { return $this->autor; @@ -273,8 +224,6 @@ public function setAutor(?User $autor): self return $this; } - - public function getTemplate(): ?string { return $this->template; @@ -400,7 +349,7 @@ public function removeButton(ButtonLink $button): self public function markAsUpdated() { - $this->updatedAt = new DateTime(); + $this->updatedAt = new \DateTime(); } /** @@ -441,6 +390,4 @@ public function setFooter(?string $footer): self return $this; } - - } diff --git a/src/Entity/SourceApi.php b/src/Entity/SourceApi.php index e7ee9b87..e8ce602f 100644 --- a/src/Entity/SourceApi.php +++ b/src/Entity/SourceApi.php @@ -5,61 +5,39 @@ use App\Repository\SourceApiRepository; use Doctrine\ORM\Mapping as ORM; -/** - * @ORM\Entity(repositoryClass=SourceApiRepository::class) - */ +#[ORM\Entity(repositoryClass: SourceApiRepository::class)] class SourceApi { - /** - * @ORM\Id - * @ORM\GeneratedValue - * @ORM\Column(type="integer") - */ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] private $id; - /** - * @ORM\Column(type="string", length=100) - */ + #[ORM\Column(type: 'string', length: 100)] private $identifier; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $base_uri; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $auth_basic; - /** - * @ORM\Column(type="string", length=510, nullable=true) - */ + #[ORM\Column(type: 'string', length: 510, nullable: true)] private $auth_bearer; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $auth_ntlm; - /** - * @ORM\Column(type="string", length=510, nullable=true) - */ + #[ORM\Column(type: 'string', length: 510, nullable: true)] private $base_auth; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $auth_username; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $auth_pass; - /** - * @ORM\Column(type="string", length=510) - */ + #[ORM\Column(type: 'string', length: 510)] private $base_endpoint; public function getId(): ?int diff --git a/src/Entity/TipoContacto.php b/src/Entity/TipoContacto.php index a4529eee..60ebf35e 100644 --- a/src/Entity/TipoContacto.php +++ b/src/Entity/TipoContacto.php @@ -7,54 +7,39 @@ use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; -/** - * @ORM\Entity(repositoryClass=TipoContactoRepository::class) - */ -class TipoContacto +#[ORM\Entity(repositoryClass: TipoContactoRepository::class)] +class TipoContacto implements \Stringable { - /** - * @ORM\Id - * @ORM\GeneratedValue - * @ORM\Column(type="integer") - */ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] private $id; - /** - * @ORM\Column(type="string", length=50) - */ + #[ORM\Column(type: 'string', length: 50)] private $tipo; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $referencia; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $icon; - /** - * @ORM\Column(type="string", length=510, nullable=true) - */ + #[ORM\Column(type: 'string', length: 510, nullable: true)] private $textoReferencia; - /** - * @ORM\OneToMany(targetEntity=Contacto::class, mappedBy="tipo") - */ - private $contactos; + #[ORM\OneToMany(targetEntity: Contacto::class, mappedBy: 'tipo')] + private Collection $contactos; public function __construct() { $this->contactos = new ArrayCollection(); } - public function __toString() + public function __toString(): string { - return $this->tipo; + return (string) $this->tipo; } - public function getId(): ?int { return $this->id; @@ -137,6 +122,4 @@ public function removeContacto(Contacto $contacto): self return $this; } - - } diff --git a/src/Entity/Traits/CssClass.php b/src/Entity/Traits/CssClass.php index 868637f3..5abcf34d 100644 --- a/src/Entity/Traits/CssClass.php +++ b/src/Entity/Traits/CssClass.php @@ -1,16 +1,12 @@ getImageFilename(); } -} \ No newline at end of file +} diff --git a/src/Entity/Traits/LinksTrait.php b/src/Entity/Traits/LinksTrait.php index 6c941a2e..4ebae017 100644 --- a/src/Entity/Traits/LinksTrait.php +++ b/src/Entity/Traits/LinksTrait.php @@ -1,30 +1,22 @@ disponibleAt; } - public function setDisponibleAt(?DateTimeInterface $disponibleAt): self + public function setDisponibleAt(?\DateTimeInterface $disponibleAt): self { $this->disponibleAt = $disponibleAt; return $this; } - public function getDisponibleHastaAt(): ?DateTimeInterface + public function getDisponibleHastaAt(): ?\DateTimeInterface { return $this->disponibleHastaAt; } - public function setDisponibleHastaAt(?DateTimeInterface $disponibleHastaAt): self + public function setDisponibleHastaAt(?\DateTimeInterface $disponibleHastaAt): self { $this->disponibleHastaAt = $disponibleHastaAt; return $this; } - } diff --git a/src/Entity/TypeBlock.php b/src/Entity/TypeBlock.php index 8b30929c..56336d97 100644 --- a/src/Entity/TypeBlock.php +++ b/src/Entity/TypeBlock.php @@ -8,47 +8,31 @@ use Doctrine\ORM\Mapping as ORM; use Gedmo\Mapping\Annotation as Gedmo; -/** - * @ORM\Entity(repositoryClass=TypeBlockRepository::class) - */ -class TypeBlock +#[ORM\Entity(repositoryClass: TypeBlockRepository::class)] +class TypeBlock implements \Stringable { - /** - * @ORM\Id - * @ORM\GeneratedValue - * @ORM\Column(type="integer") - */ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] private $id; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $name; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $description; - /** - * @ORM\Column(type="string", length=150, unique=true) - * @Gedmo\Slug(fields={"name"}) - */ + #[Gedmo\Slug(fields: ['name'])] + #[ORM\Column(type: 'string', length: 150, unique: true)] private $identifier; - /** - * @ORM\Column(type="boolean", nullable=true) - */ + #[ORM\Column(type: 'boolean', nullable: true)] private $isActive; - /** - * @ORM\OneToMany(targetEntity=ModelTemplate::class, mappedBy="block") - */ - private $modelTemplates; + #[ORM\OneToMany(targetEntity: ModelTemplate::class, mappedBy: 'block')] + private Collection $modelTemplates; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] private $entity; public function __construct() @@ -56,9 +40,9 @@ public function __construct() $this->modelTemplates = new ArrayCollection(); } - public function __toString() + public function __toString(): string { - return $this->identifier; + return (string) $this->identifier; } public function getId(): ?int diff --git a/src/Entity/TypeFixe.php b/src/Entity/TypeFixe.php index 89c965d7..9ab5eab4 100644 --- a/src/Entity/TypeFixe.php +++ b/src/Entity/TypeFixe.php @@ -6,39 +6,34 @@ use App\Repository\TypeFixeRepository; use Doctrine\ORM\Mapping as ORM; use Gedmo\Timestampable\Traits\TimestampableEntity; -use Ramsey\Uuid\Uuid; use Ramsey\Uuid\Doctrine\UuidGenerator; +use Ramsey\Uuid\Uuid; use Ramsey\Uuid\UuidInterface; -/** - * @ORM\Entity(repositoryClass=TypeFixeRepository::class) - */ -class TypeFixe +#[ORM\Entity(repositoryClass: TypeFixeRepository::class)] +class TypeFixe implements \Stringable { use TimestampableEntity; + use IdentificadorTrait; - /** - * @ORM\Id() - * @ORM\Column(type="uuid", length=36) - * @ORM\GeneratedValue(strategy="CUSTOM") - * @ORM\CustomIdGenerator(class=UuidGenerator::class) - */ + #[ORM\Id] + #[ORM\Column(type: 'uuid', length: 36)] + #[ORM\GeneratedValue(strategy: 'CUSTOM')] + #[ORM\CustomIdGenerator(class: UuidGenerator::class)] private UuidInterface $id; - /** - * @ORM\Column(type="string", length=255, nullable=true) - */ - private ?string $description; + #[ORM\Column(type: 'string', length: 255, nullable: true)] + private ?string $description = null; public function __construct() { $this->id = Uuid::uuid4(); } - public function __toString() + public function __toString(): string { - return $this->identificador; + return (string) $this->identificador; } public function getId(): UuidInterface diff --git a/src/Entity/User.php b/src/Entity/User.php index ca611ac9..01c91274 100755 --- a/src/Entity/User.php +++ b/src/Entity/User.php @@ -2,124 +2,80 @@ namespace App\Entity; -use DateTime; -use DateTimeInterface; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; +use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface; use Symfony\Component\Security\Core\User\UserInterface; use Symfony\Component\Serializer\Annotation\Groups; use Symfony\Component\Validator\Constraints as Assert; -/** - * @ORM\Entity(repositoryClass="App\Repository\UserRepository") - * @UniqueEntity( - * fields={"email"}, - * message="Este email ya está registrado" - * ) - */ -class User implements UserInterface, \Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface +#[ORM\Entity(repositoryClass: \App\Repository\UserRepository::class)] +#[UniqueEntity(fields: ['email'], message: 'Este email ya está registrado')] +class User implements UserInterface, PasswordAuthenticatedUserInterface, \Stringable { - /** - * @ORM\Id() - * @ORM\Column(type="string", length=40) - * @ORM\GeneratedValue(strategy="CUSTOM") - * @ORM\CustomIdGenerator(class="Ramsey\Uuid\Doctrine\UuidGenerator") - */ + #[ORM\Id] + #[ORM\Column(type: 'string', length: 40)] + #[ORM\GeneratedValue(strategy: 'CUSTOM')] + #[ORM\CustomIdGenerator(class: \Ramsey\Uuid\Doctrine\UuidGenerator::class)] private $id; - /** - * @ORM\Column(type="string", length=180, unique=true) - * @Groups("perfil") - * @Assert\NotBlank(message="Por Favor ingrese un email válido") - * @Assert\Email(message="Por Favor ingrese un email válido") - */ + #[ORM\Column(type: 'string', length: 180, unique: true)] + #[Groups('perfil')] + #[Assert\NotBlank(message: 'Por Favor ingrese un email válido')] + #[Assert\Email(message: 'Por Favor ingrese un email válido')] private $email; - /** - * @ORM\Column(type="json") - */ + #[ORM\Column(type: 'json')] private $roles = []; - /** - * @ORM\Column(type="string", length=255, nullable=true) - * @Groups("perfil") - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] + #[Groups('perfil')] private $primerNombre; - /** - * @ORM\Column(type="string", length=255) - */ - private $password; + #[ORM\Column(type: 'string', length: 255)] + private ?string $password = null; - /** - * @ORM\Column(type="string", length=255, nullable=true) - * @Groups("perfil") - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] + #[Groups('perfil')] private $twitterUsername; - /** - * @ORM\Column(type="string", length=255, nullable=true) - * @Groups("perfil") - */ + #[ORM\Column(type: 'string', length: 255, nullable: true)] + #[Groups('perfil')] private $avatarUrl; - /** - * @ORM\OneToMany(targetEntity="App\Entity\ApiToken", mappedBy="user", orphanRemoval=true) - */ - private $apiTokens; - - /** - * @ORM\OneToMany(targetEntity="App\Entity\PageIndex", mappedBy="autor") - */ - private $pageIndices; - - /** - * @ORM\OneToMany(targetEntity="App\Entity\Entrada", mappedBy="autor") - */ - private $entradas; + #[ORM\OneToMany(mappedBy: 'user', targetEntity: ApiToken::class, orphanRemoval: true)] + private Collection $apiTokens; - /** - * @ORM\OneToMany(targetEntity=Principal::class, mappedBy="autor") - */ - private $principal; + #[ORM\OneToMany(mappedBy: 'autor', targetEntity: PageIndex::class)] + private Collection $pageIndices; - /** - * @ORM\OneToMany(targetEntity=Comentario::class, mappedBy="autor") - */ - private $comentarios; + #[ORM\OneToMany(mappedBy: 'autor', targetEntity: Entrada::class)] + private Collection $entradas; + #[ORM\OneToMany(mappedBy: 'autor', targetEntity: Principal::class)] + private Collection $principal; + #[ORM\OneToMany(mappedBy: 'autor', targetEntity: Comentario::class)] + private Collection $comentarios; - /** - * @ORM\Column(type="datetime") - */ + #[ORM\Column(type: 'datetime')] private $aceptaTerminosAt; - /** - * @ORM\OneToMany(targetEntity=Section::class, mappedBy="autor", fetch="EXTRA_LAZY") - */ - private $sections; + #[ORM\OneToMany(targetEntity: Section::class, mappedBy: 'autor', fetch: 'EXTRA_LAZY')] + private Collection $sections; - /** - * @ORM\OneToMany(targetEntity=EnlaceCorto::class, mappedBy="usuario") - */ - private $enlaceCortos; + #[ORM\OneToMany(targetEntity: EnlaceCorto::class, mappedBy: 'usuario')] + private Collection $enlaceCortos; - /** - * @ORM\OneToMany(targetEntity=Celebracion::class, mappedBy="creaEvento") - */ - private $celebracions; + #[ORM\OneToMany(targetEntity: Celebracion::class, mappedBy: 'creaEvento')] + private Collection $celebracions; - /** - * @ORM\Column(type="boolean", nullable=true) - */ + #[ORM\Column(type: 'boolean', nullable: true)] private $isDeleted; - /** - * @ORM\Column(type="boolean", nullable=true) - */ + #[ORM\Column(type: 'boolean', nullable: true)] private $isActive; public function __construct() @@ -136,11 +92,10 @@ public function __construct() public function __toString(): string { - return $this->getPrimerNombre(); + return (string) $this->getPrimerNombre(); } - - public function getId():?string + public function getId(): ?string { return $this->id; } @@ -158,11 +113,11 @@ public function setEmail(string $email): self } /** - * A visual identifier that represents this user. + * The public representation of the user (e.g. a username, an email address, etc.). * * @see UserInterface */ - public function getUsername(): string + public function getUserIdentifier(): string { return (string) $this->email; } @@ -179,7 +134,6 @@ public function getRoles(): array return array_unique($roles); } - public function setRoles(array $roles): self { $this->roles = $roles; @@ -195,14 +149,6 @@ public function getPassword(): ?string return $this->password; } - /** - * @see UserInterface - */ - public function getSalt() - { - // not needed for apps that do not check user passwords - } - /** * @see UserInterface */ @@ -415,15 +361,14 @@ public function removeComentario(Comentario $comentario): self return $this; } - public function getAceptaTerminosAt(): ?DateTimeInterface + public function getAceptaTerminosAt(): ?\DateTimeInterface { return $this->aceptaTerminosAt; } - public function aceptaTerminos() { - $this->aceptaTerminosAt = new DateTime(); + $this->aceptaTerminosAt = new \DateTime(); } /** @@ -546,14 +491,4 @@ public function setIsActive(?bool $isActive): self return $this; } - - /** - * The public representation of the user (e.g. a username, an email address, etc.) - * - * @see UserInterface - */ - public function getUserIdentifier(): string - { - return (string) $this->email; - } } diff --git a/src/Entity/WaitingList.php b/src/Entity/WaitingList.php index ab875375..e3780556 100644 --- a/src/Entity/WaitingList.php +++ b/src/Entity/WaitingList.php @@ -5,43 +5,31 @@ use App\Repository\WaitingListRepository; use Doctrine\ORM\Mapping as ORM; -/** - * @ORM\Entity(repositoryClass=WaitingListRepository::class) - */ -class WaitingList +#[ORM\Entity(repositoryClass: WaitingListRepository::class)] +class WaitingList implements \Stringable { - /** - * @ORM\Id() - * @ORM\Column(type="string", length=36) - * @ORM\GeneratedValue(strategy="CUSTOM") - * @ORM\CustomIdGenerator(class="Ramsey\Uuid\Doctrine\UuidGenerator") - */ + #[ORM\Id] + #[ORM\Column(type: 'string', length: 36)] + #[ORM\GeneratedValue(strategy: 'CUSTOM')] + #[ORM\CustomIdGenerator(class: \Ramsey\Uuid\Doctrine\UuidGenerator::class)] private $id; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $apellido; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $nombre; - /** - * @ORM\Column(type="string", length=255) - */ + #[ORM\Column(type: 'string', length: 255)] private $email; - /** - * @ORM\ManyToOne(targetEntity=Celebracion::class, inversedBy="waitingLists") - * @ORM\JoinColumn(nullable=false) - */ - private $celebracion; + #[ORM\ManyToOne(inversedBy: 'waitingLists')] + #[ORM\JoinColumn(nullable: false)] + private ?Celebracion $celebracion = null; - public function __toString() + public function __toString(): string { - return $this->email; + return (string) $this->email; } public function getId(): ?int diff --git a/src/Event/ReservaEvent.php b/src/Event/ReservaEvent.php index 3f61eb84..009e91b0 100644 --- a/src/Event/ReservaEvent.php +++ b/src/Event/ReservaEvent.php @@ -1,24 +1,19 @@ data = $data; } public function getData() { return $this->data; } -} \ No newline at end of file +} diff --git a/src/EventSubscriber/ReservaSubscriber.php b/src/EventSubscriber/ReservaSubscriber.php index 448999b3..da9410f5 100644 --- a/src/EventSubscriber/ReservaSubscriber.php +++ b/src/EventSubscriber/ReservaSubscriber.php @@ -9,30 +9,21 @@ class ReservaSubscriber implements EventSubscriberInterface { - private $handlerCelebracion; - private $mailer; - /** * ReservaSubscriber constructor. - * @param HandlerCelebracion $handlerCelebracion - * @param Mailer $mailer */ - public function __construct(HandlerCelebracion $handlerCelebracion, Mailer $mailer) + public function __construct(private readonly HandlerCelebracion $handlerCelebracion, private readonly Mailer $mailer) { - $this->handlerCelebracion = $handlerCelebracion; - $this->mailer = $mailer; } public function onAnulaReservaEvent($event) { - if($this->handlerCelebracion->hayLugar($event->getData())){ - + if ($this->handlerCelebracion->hayLugar($event->getData())) { try { $this->mailer->sendAvisoLugarMessage($event->getData()); - } catch (TransportExceptionInterface $e) { + } catch (TransportExceptionInterface) { } } - } public static function getSubscribedEvents(): array diff --git a/src/Form/ArticleFormType.php b/src/Form/ArticleFormType.php index 5263eaca..db16dcb1 100755 --- a/src/Form/ArticleFormType.php +++ b/src/Form/ArticleFormType.php @@ -3,10 +3,7 @@ namespace App\Form; use App\Entity\Article; -use App\Entity\User; -use App\Repository\ArticleRepository; use App\Repository\UserRepository; -use Symfony\Bridge\Doctrine\Form\Type\EntityType; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\ChoiceType; use Symfony\Component\Form\Extension\Core\Type\TextType; @@ -18,11 +15,8 @@ class ArticleFormType extends AbstractType { - private $userRepository; - - public function __construct(UserRepository $userRepository) + public function __construct(private readonly UserRepository $userRepository) { - $this->userRepository = $userRepository; } public function buildForm(FormBuilderInterface $builder, array $options) @@ -33,20 +27,20 @@ public function buildForm(FormBuilderInterface $builder, array $options) $builder ->add('title', TextType::class, [ - 'help' => 'Choose something catchy!' + 'help' => 'Choose something catchy!', ]) ->add('content', null, [ - 'rows' => 15 + 'rows' => 15, ]) ->add('author', UserSelectTextType::class, [ - 'disabled' => $isEdit + 'disabled' => $isEdit, ]) ->add('location', ChoiceType::class, [ 'placeholder' => 'Choose a location', 'choices' => [ 'The Solar System' => 'solar_system', 'Near a star' => 'star', - 'Interstellar Space' => 'interstellar_space' + 'Interstellar Space' => 'interstellar_space', ], 'required' => false, ]) @@ -76,7 +70,7 @@ function (FormEvent $event) { $builder->get('location')->addEventListener( FormEvents::POST_SUBMIT, - function(FormEvent $event) { + function (FormEvent $event) { $form = $event->getForm(); $this->setupSpecificLocationNameField( $form->getParent(), @@ -137,7 +131,7 @@ private function getLocationNameChoices(string $location) 'Alpha Centauari B', 'Betelgeuse', 'Rigel', - 'Other' + 'Other', ]; $locationNameChoices = [ diff --git a/src/Form/AvisoType.php b/src/Form/AvisoType.php index 476a1397..5b700170 100644 --- a/src/Form/AvisoType.php +++ b/src/Form/AvisoType.php @@ -18,23 +18,19 @@ public function buildForm(FormBuilderInterface $builder, array $options) $builder ->add('email', EmailType::class) ->add('apellido', TextType::class, [ - 'label' => 'Apellido' + 'label' => 'Apellido', ]) ->add('nombre', TextType::class, [ 'required' => false, - 'label' => 'Nombre' + 'label' => 'Nombre', ]) ->add('celebracion', HiddenType::class, [ 'property_path' => 'celebracion.id', 'attr' => [ - 'class' => 'hidden' - ] + 'class' => 'hidden', + ], ]) - ->add('save', SubmitType::class, array( - 'label' => 'Avisarme', - 'attr' => array('class' => 'btn btn-primary btn--pill') - )); // ;Final del builder - + ->add('save', SubmitType::class, ['label' => 'Avisarme', 'attr' => ['class' => 'btn btn-primary btn--pill']]); // ;Final del builder } public function configureOptions(OptionsResolver $resolver) diff --git a/src/Form/BlocsFixesType.php b/src/Form/BlocsFixesType.php index f10169c2..bc9da168 100644 --- a/src/Form/BlocsFixesType.php +++ b/src/Form/BlocsFixesType.php @@ -23,15 +23,15 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'class' => Principal::class, 'multiple' => true, 'attr' => [ - 'class' => 'select2-enable' - ] + 'class' => 'select2-enable', + ], ]) ->add('section', EntityType::class, [ 'class' => Section::class, 'multiple' => true, 'attr' => [ - 'class' => 'select2-enable' - ] + 'class' => 'select2-enable', + ], ]) ->add('indexAlameda') ->add('fixes_type') diff --git a/src/Form/BroteType.php b/src/Form/BroteType.php index ef49c4e3..ea388eec 100644 --- a/src/Form/BroteType.php +++ b/src/Form/BroteType.php @@ -2,36 +2,29 @@ namespace App\Form; -use App\Entity\Brote; - use App\Entity\Principal; use App\Form\DataTransformer\UserSelectTextType; - use App\Repository\UserRepository; use FOS\CKEditorBundle\Form\Type\CKEditorType; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\CheckboxType; use Symfony\Component\Form\Extension\Core\Type\FileType; -use Symfony\Component\Form\Extension\Core\Type\TextareaType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; - use Symfony\Component\Validator\Constraints\Image; class BroteType extends AbstractType { protected $role = 'ROLE_ESCRITOR'; - public function buildForm(FormBuilderInterface $builder, array $options) { - $builder ->add('titulo') - ->add('contenido', CKEditorType::class,[ + ->add('contenido', CKEditorType::class, [ 'config' => [ 'uiColor' => '#ffffff', - ] + ], ]) ->add('linkRoute') ->add('imageFilename') @@ -41,14 +34,12 @@ public function buildForm(FormBuilderInterface $builder, array $options) ->add('createdAt') ->add('updatedAt') ->add('autor', UserSelectTextType::class, [ - 'finder_callback' => function (UserRepository $userRepository, string $email) { - return $userRepository->findByRoleAndEmail($email, $this->role); - }, + 'finder_callback' => fn (UserRepository $userRepository, string $email) => $userRepository->findByRoleAndEmail($email, $this->role), 'attr' => [ // 'class'=>'js-user-autocomplete', 'data-role' => 'ROLE_ESCRITOR', // 'data-autocomplete-url'=>$this->router->generate('admin_utility_user') - ] + ], ]) // ->add('autor', EntityType::class, [ diff --git a/src/Form/CelebracionType.php b/src/Form/CelebracionType.php index e1aa14b1..7bab8c57 100644 --- a/src/Form/CelebracionType.php +++ b/src/Form/CelebracionType.php @@ -4,7 +4,6 @@ use App\Entity\Celebracion; use Symfony\Component\Form\AbstractType; -use Symfony\Component\Form\Extension\Core\Type\CheckboxType; use Symfony\Component\Form\Extension\Core\Type\ChoiceType; use Symfony\Component\Form\Extension\Core\Type\DateTimeType; use Symfony\Component\Form\FormBuilderInterface; @@ -15,47 +14,47 @@ class CelebracionType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('fechaCelebracionAt', DateTimeType::class,[ - 'label'=>'Fecha Celebración', + ->add('fechaCelebracionAt', DateTimeType::class, [ + 'label' => 'Fecha Celebración', 'widget' => 'single_text', 'html5' => true, 'required' => false, 'format' => 'yyyy-MM-dd HH:mm', - 'attr' => ['class' => 'datetimepicker'] + 'attr' => ['class' => 'datetimepicker'], ]) ->add('nombre') ->add('capacidad') - ->add('disponibleAt', DateTimeType::class,[ - 'label'=>'Disponible desde', + ->add('disponibleAt', DateTimeType::class, [ + 'label' => 'Disponible desde', 'widget' => 'single_text', 'html5' => false, 'required' => false, 'format' => 'yyyy-MM-dd HH:mm', - 'attr' => ['class' => 'datetimepicker'] + 'attr' => ['class' => 'datetimepicker'], ]) - ->add('disponibleHastaAt', DateTimeType::class,[ - 'label'=>'Disponible hasta', + ->add('disponibleHastaAt', DateTimeType::class, [ + 'label' => 'Disponible hasta', 'widget' => 'single_text', 'html5' => false, 'required' => false, 'format' => 'yyyy-MM-dd HH:mm', 'attr' => [ 'class' => 'datetimepicker', - ] + ], ]) ->add('descripcion') ->add('isHabilitada', ChoiceType::class, [ 'required' => true, 'label' => false, 'help' => 'Habilita celebración', - 'choices' => [ + 'choices' => [ 'Si' => true, 'No' => false, ], - 'preferred_choices'=>[true], - 'attr'=>[ - 'class'=>'form-control' - ] + 'preferred_choices' => [true], + 'attr' => [ + 'class' => 'form-control', + ], ]) ->add('imageQr') ; diff --git a/src/Form/CelebrationAddType.php b/src/Form/CelebrationAddType.php index 0a122c94..5fd4b9e6 100644 --- a/src/Form/CelebrationAddType.php +++ b/src/Form/CelebrationAddType.php @@ -2,7 +2,6 @@ namespace App\Form; - use App\Entity\Celebracion; use App\Form\Model\CelebrationsFormModel; use App\Repository\CelebracionRepository; @@ -17,24 +16,19 @@ class CelebrationAddType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('celebration', EntityType::class,[ - 'class'=>Celebracion::class, + ->add('celebration', EntityType::class, [ + 'class' => Celebracion::class, 'mapped' => false, 'placeholder' => 'Seleccione celebración', 'label' => 'Celebraciones disponibles', - 'query_builder' => function (CelebracionRepository $er) { - return $er->puedeAgruparse(); - }, + 'query_builder' => fn (CelebracionRepository $er) => $er->puedeAgruparse(), - 'attr'=>[ + 'attr' => [ 'class' => 'select2-enable', - 'placeholder' => 'Seleccione celebracion' - ] + 'placeholder' => 'Seleccione celebracion', + ], ]) - ->add('save', SubmitType::class, array( - 'label' => 'Agregar', - 'attr' => array('class' => 'btn btn-primary btn--pill') - )) + ->add('save', SubmitType::class, ['label' => 'Agregar', 'attr' => ['class' => 'btn btn-primary btn--pill']]) ; } diff --git a/src/Form/ChangePasswordType.php b/src/Form/ChangePasswordType.php index c8c0d559..d3d7b753 100755 --- a/src/Form/ChangePasswordType.php +++ b/src/Form/ChangePasswordType.php @@ -15,7 +15,7 @@ class ChangePasswordType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('email',HiddenType::class) + ->add('email', HiddenType::class) ->add('password', RepeatedType::class, [ 'type' => PasswordType::class, 'first_options' => ['label' => 'Clave'], diff --git a/src/Form/DataTransformer/EmailToUserTransformer.php b/src/Form/DataTransformer/EmailToUserTransformer.php index 8492ca1d..9e1bd92d 100644 --- a/src/Form/DataTransformer/EmailToUserTransformer.php +++ b/src/Form/DataTransformer/EmailToUserTransformer.php @@ -1,53 +1,42 @@ userRepository = $userRepository; $this->finderCallback = $finderCallback; } /** - * @inheritDoc + * @return mixed|string|null */ - public function transform($value) + public function transform($value): mixed { if (null === $value) { return ''; } if (!$value instanceof User) { - throw new LogicException('El UserSelectTextType solo puede usarse con un User objecto'); + throw new \LogicException('El UserSelectTextType solo puede usarse con un User objeto'); } - return $value->getEmail(); - } /** - * @inheritDoc + * @return mixed|string */ public function reverseTransform($value) { @@ -55,7 +44,6 @@ public function reverseTransform($value) return ''; } - $callback = $this->finderCallback; $user = $callback($this->userRepository, $value); if (!$user) { @@ -64,4 +52,4 @@ public function reverseTransform($value) return $user; } -} \ No newline at end of file +} diff --git a/src/Form/DataTransformer/UserSelectTextType.php b/src/Form/DataTransformer/UserSelectTextType.php index 55f649fb..ea204709 100644 --- a/src/Form/DataTransformer/UserSelectTextType.php +++ b/src/Form/DataTransformer/UserSelectTextType.php @@ -1,9 +1,7 @@ setDefaults([ - 'invalid_message'=>'Usuario no encontrado', - 'finder_callback' => function(UserRepository $userRepository, string $email) { - return $userRepository->findOneBy(['email' => $email]); - }, - 'attr'=>[ - - ] + 'invalid_message' => 'Usuario no encontrado', + 'finder_callback' => fn (UserRepository $userRepository, string $email) => $userRepository->findOneBy(['email' => $email]), + 'attr' => [ + ], ]); } @@ -67,6 +60,4 @@ public function buildView(FormView $view, FormInterface $form, array $options) $attr['data-autocomplete-url'] = $this->router->generate('admin_utility_user'); $view->vars['attr'] = $attr; } - - -} \ No newline at end of file +} diff --git a/src/Form/EntradaComplexType.php b/src/Form/EntradaComplexType.php index 0f07664b..6fa864ea 100644 --- a/src/Form/EntradaComplexType.php +++ b/src/Form/EntradaComplexType.php @@ -3,19 +3,10 @@ namespace App\Form; use App\Entity\Entrada; -use App\Entity\ModelTemplate; -use App\Entity\User; -use App\Repository\ModelTemplateRepository; use FOS\CKEditorBundle\Form\Type\CKEditorType; -use Symfony\Bridge\Doctrine\Form\Type\EntityType; use Symfony\Component\Form\AbstractType; -use Symfony\Component\Form\Extension\Core\Type\CheckboxType; -use Symfony\Component\Form\Extension\Core\Type\FileType; -use Symfony\Component\Form\Extension\Core\Type\TextareaType; -use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; -use Symfony\Component\Validator\Constraints\Image; class EntradaComplexType extends AbstractType { diff --git a/src/Form/EntradaSectionType.php b/src/Form/EntradaSectionType.php index 46162d7c..0969c678 100644 --- a/src/Form/EntradaSectionType.php +++ b/src/Form/EntradaSectionType.php @@ -16,22 +16,17 @@ class EntradaSectionType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('section', EntityType::class,[ - 'class'=>Section::class, + ->add('section', EntityType::class, [ + 'class' => Section::class, 'mapped' => false, 'placeholder' => 'Seleccione sección', 'label' => 'Secciones disponibles', - 'query_builder' => function (SectionRepository $er) { - return $er->findDisponible(); - }, - 'attr'=>[ + 'query_builder' => fn (SectionRepository $er) => $er->findDisponible(), + 'attr' => [ 'class' => 'select2-modal', - ] + ], ]) - ->add('save', SubmitType::class, array( - 'label' => 'Agregar', - 'attr' => array('class' => 'btn btn-primary btn--pill') - )) + ->add('save', SubmitType::class, ['label' => 'Agregar', 'attr' => ['class' => 'btn btn-primary btn--pill']]) ; } diff --git a/src/Form/EntradaType.php b/src/Form/EntradaType.php index 86e12f22..8e65ff2e 100755 --- a/src/Form/EntradaType.php +++ b/src/Form/EntradaType.php @@ -25,17 +25,13 @@ class EntradaType extends AbstractType { - - private PrincipalRepository $principalRepository; - /** * EntradaType constructor. - * @param PrincipalRepository $principalRepository */ - public function __construct(PrincipalRepository $principalRepository) + public function __construct(private readonly PrincipalRepository $principalRepository) { - $this->principalRepository = $principalRepository; } + public function buildForm(FormBuilderInterface $builder, array $options) { $linkRouteChoices = []; @@ -174,7 +170,7 @@ public function buildForm(FormBuilderInterface $builder, array $options) ) ->add('linkRoute', EntityType::class, [ 'class' => Principal::class, - 'mapped'=>false, + 'mapped' => false, 'required' => false, 'help' => 'Link a páginas internas del sistema', // 'label'=>'Seleccione Link', @@ -188,7 +184,6 @@ public function buildForm(FormBuilderInterface $builder, array $options) 'row_attr' => [ 'class' => 'form-floating', ], - ] ) ->add('linkPosting', TextType::class, [ @@ -257,9 +252,7 @@ public function buildForm(FormBuilderInterface $builder, array $options) EntityType::class, [ 'class' => User::class, - 'choice_label' => function (User $user) { - return sprintf('(%s) %s', $user->getPrimerNombre(), $user->getEmail()); - }, + 'choice_label' => fn (User $user) => sprintf('(%s) %s', $user->getPrimerNombre(), $user->getEmail()), 'placeholder' => 'Seleccione Autor', 'invalid_message' => 'Por favor ingrese un autor', 'attr' => [ @@ -272,9 +265,7 @@ public function buildForm(FormBuilderInterface $builder, array $options) EntityType::class, [ 'class' => ModelTemplate::class, - 'query_builder' => function (ModelTemplateRepository $er) { - return $er->findByTypeEntrada(); - }, + 'query_builder' => fn (ModelTemplateRepository $er) => $er->findByTypeEntrada(), 'help' => 'Opcional, llama a un template específico, debe estar en sections creado', 'required' => false, 'attr' => [ @@ -283,7 +274,6 @@ public function buildForm(FormBuilderInterface $builder, array $options) ] ) - // Con steps hasta aquí ->add( @@ -368,7 +358,7 @@ public function buildForm(FormBuilderInterface $builder, array $options) 'row_attr' => [ 'class' => 'form-floating', ], - 'help_attr'=> [ + 'help_attr' => [ 'class' => ' text-secondary', ], ]) @@ -419,12 +409,11 @@ public function buildForm(FormBuilderInterface $builder, array $options) 'attr' => [ 'class' => 'select2-enable', ], - ]) ; // ; Final Builder } - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults( [ diff --git a/src/Form/Filter/ReservaByEmailFilterType.php b/src/Form/Filter/ReservaByEmailFilterType.php index 5928a0b4..af337e91 100644 --- a/src/Form/Filter/ReservaByEmailFilterType.php +++ b/src/Form/Filter/ReservaByEmailFilterType.php @@ -19,32 +19,28 @@ public function buildForm(FormBuilderInterface $builder, array $options) $builder ->add('celebracion', EntityType::class, [ 'class' => Celebracion::class, - 'query_builder' => function (CelebracionRepository $er) { - return $er->puedeMostrarse(); - }, + 'query_builder' => fn (CelebracionRepository $er) => $er->puedeMostrarse(), 'label' => 'Celebración', 'placeholder' => 'Seleccione Celebración', 'invalid_message' => 'Por favor ingrese una celebración', 'invalid_message_parameters' => 'Por favor ingrese celebración', 'constraints' => [ new NotBlank([ - 'message' => 'Por favor seleccione una celebración' - ]) + 'message' => 'Por favor seleccione una celebración', + ]), ], - ]) ->add('email', EmailType::class, [ 'label' => 'Email Reserva', 'attr' => [ - 'placeholder' => 'Por favor ingrese email de reserva' + 'placeholder' => 'Por favor ingrese email de reserva', ], - 'required'=>true, + 'required' => true, 'constraints' => [ new NotBlank([ - 'message' => 'Por favor ingrese email de reserva' + 'message' => 'Por favor ingrese email de reserva', ]), ], - ]); } diff --git a/src/Form/GroupCelebrationAddType.php b/src/Form/GroupCelebrationAddType.php index d70a777c..f0ba32c0 100644 --- a/src/Form/GroupCelebrationAddType.php +++ b/src/Form/GroupCelebrationAddType.php @@ -2,7 +2,6 @@ namespace App\Form; - use App\Entity\GroupCelebration; use App\Form\Model\GroupCelebrationsFormModel; use App\Repository\GroupCelebrationRepository; @@ -17,24 +16,19 @@ class GroupCelebrationAddType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('groupCelebration', EntityType::class,[ - 'class'=>GroupCelebration::class, + ->add('groupCelebration', EntityType::class, [ + 'class' => GroupCelebration::class, 'mapped' => false, 'placeholder' => 'Seleccione grupo', 'label' => 'Grupos disponibles', - 'query_builder' => function (GroupCelebrationRepository $er) { - return $er->findByActive(); - }, + 'query_builder' => fn (GroupCelebrationRepository $er) => $er->findByActive(), - 'attr'=>[ + 'attr' => [ 'class' => 'select2-enable', - 'placeholder' => 'Seleccione grupo' - ] + 'placeholder' => 'Seleccione grupo', + ], ]) - ->add('save', SubmitType::class, array( - 'label' => 'Agregar', - 'attr' => array('class' => 'btn btn-primary btn--pill') - )) + ->add('save', SubmitType::class, ['label' => 'Agregar', 'attr' => ['class' => 'btn btn-primary btn--pill']]) ; } diff --git a/src/Form/IndexSectionType.php b/src/Form/IndexSectionType.php index f0d4518e..4ff45f3f 100644 --- a/src/Form/IndexSectionType.php +++ b/src/Form/IndexSectionType.php @@ -4,7 +4,6 @@ use App\Entity\IndexAlameda; use App\Entity\Section; -use App\Repository\CelebracionRepository; use App\Repository\SectionRepository; use Symfony\Bridge\Doctrine\Form\Type\EntityType; use Symfony\Component\Form\AbstractType; @@ -17,25 +16,19 @@ class IndexSectionType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('section', EntityType::class,[ - 'class'=>Section::class, + ->add('section', EntityType::class, [ + 'class' => Section::class, 'mapped' => false, 'placeholder' => 'Seleccione sección', 'label' => 'Secciones disponibles', - 'query_builder' => function (SectionRepository $er) { - return $er->findDisponible(); - }, + 'query_builder' => fn (SectionRepository $er) => $er->findDisponible(), - 'attr'=>[ + 'attr' => [ 'class' => 'select2-enable', - 'placeholder' => 'Seleccione sección' - - ] + 'placeholder' => 'Seleccione sección', + ], ]) - ->add('save', SubmitType::class, array( - 'label' => 'Agregar', - 'attr' => array('class' => 'btn btn-primary btn--pill') - )) + ->add('save', SubmitType::class, ['label' => 'Agregar', 'attr' => ['class' => 'btn btn-primary btn--pill']]) ; } diff --git a/src/Form/Model/CelebrationsFormModel.php b/src/Form/Model/CelebrationsFormModel.php index c9ce42bc..41cdee18 100644 --- a/src/Form/Model/CelebrationsFormModel.php +++ b/src/Form/Model/CelebrationsFormModel.php @@ -4,9 +4,5 @@ class CelebrationsFormModel { - /** - * - */ public $celebration; - -} \ No newline at end of file +} diff --git a/src/Form/Model/GroupCelebrationsFormModel.php b/src/Form/Model/GroupCelebrationsFormModel.php index 730778cd..19464492 100644 --- a/src/Form/Model/GroupCelebrationsFormModel.php +++ b/src/Form/Model/GroupCelebrationsFormModel.php @@ -1,20 +1,8 @@ add('linkRoute', TextType::class, [ 'label' => 'linkRoute', - 'help' => 'Texto de la url ' - ] ) + 'help' => 'Texto de la url ', + ]) ->add('isLinkExterno', CheckboxType::class, [ 'required' => false, 'label' => false, @@ -77,8 +77,8 @@ public function buildForm(FormBuilderInterface $builder, array $options) ->add('autor', HiddenType::class, [ 'property_path' => 'autor.id', 'attr' => [ - 'class' => 'hidden' - ] + 'class' => 'hidden', + ], ]) ->add( 'principal', @@ -94,28 +94,25 @@ public function buildForm(FormBuilderInterface $builder, array $options) 'class' => 'select2-enable', 'placeholder' => 'Seleccione parent principal', ], - ] ) ->add('cssClass', TextType::class, [ - 'label'=> 'Css', + 'label' => 'Css', 'help' => 'Agregar una clase css ya definida', 'required' => false, ]) ->add('modelTemplate', EntityType::class, [ 'class' => ModelTemplate::class, - 'query_builder' => function (ModelTemplateRepository $er) { - return $er->findModelTemplatesByBlock('page'); - }, + 'query_builder' => fn (ModelTemplateRepository $er) => $er->findModelTemplatesByBlock('page'), 'required' => false, 'label' => 'Template', - 'help'=>'Plantilla ya definida', + 'help' => 'Plantilla ya definida', 'placeholder' => 'Seleccione el modelo principal de la página', 'attr' => [ - 'class' => 'select2-enable' - ] + 'class' => 'select2-enable', + ], ]) - ->add('isActive',CheckboxType::class, [ + ->add('isActive', CheckboxType::class, [ 'required' => false, 'label' => 'Activa?', 'label_attr' => ['class' => 'checkbox-custom text-dark'], @@ -124,7 +121,7 @@ public function buildForm(FormBuilderInterface $builder, array $options) ], ]) - ; //final del builder + ; // final del builder } public function configureOptions(OptionsResolver $resolver) diff --git a/src/Form/ReservanteType.php b/src/Form/ReservanteType.php index 617a8edb..866cc2e0 100644 --- a/src/Form/ReservanteType.php +++ b/src/Form/ReservanteType.php @@ -2,7 +2,6 @@ namespace App\Form; -use App\Entity\Celebracion; use App\Entity\Reservante; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\EmailType; @@ -12,7 +11,6 @@ use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; -use Symfony\Component\Validator\Constraints\Regex; class ReservanteType extends AbstractType { @@ -21,15 +19,15 @@ public function buildForm(FormBuilderInterface $builder, array $options) $builder ->add('email', EmailType::class) ->add('apellido', TextType::class, [ - 'label' => 'Apellido' + 'label' => 'Apellido', ]) ->add('nombre', TextType::class, [ 'required' => false, - 'label' => 'Nombre' + 'label' => 'Nombre', ]) ->add('telefono', TextType::class, [ 'label' => 'WhatsApp', - 'required' => false + 'required' => false, ]) ->add('isPresente') ->add('documento', TextType::class, [ @@ -39,15 +37,15 @@ public function buildForm(FormBuilderInterface $builder, array $options) 'invalid_message_parameters' => 'Por favor ingrese un valor mayor a 0', 'attr' => [ - 'pattern'=>'\d+', - 'oninput'=>'this.value=this.value.replace(/[^0-9]/g,"")' - ] + 'pattern' => '\d+', + 'oninput' => 'this.value=this.value.replace(/[^0-9]/g,"")', + ], ]) ->add('celebracion', HiddenType::class, [ 'property_path' => 'celebracion.id', 'attr' => [ - 'class' => 'hidden' - ] + 'class' => 'hidden', + ], ]) ->add('acompanantes', IntegerType::class, [ 'mapped' => false, @@ -55,14 +53,10 @@ public function buildForm(FormBuilderInterface $builder, array $options) 'invalid_message' => 'Por favor ingrese un valor menor o igual a 7', 'invalid_message_parameters' => 'Por favor ingrese un valor menor o igual a 7', 'label' => 'Cantidad de acompañantes', - 'attr' => ['min' => 0, 'max' => 7] + 'attr' => ['min' => 0, 'max' => 7], ]) - ->add('save', SubmitType::class, array( - 'label' => 'Reservar', - 'attr' => array('class' => 'btn btn-primary btn--pill') - )) + ->add('save', SubmitType::class, ['label' => 'Reservar', 'attr' => ['class' => 'btn btn-primary btn--pill']]) ; // ;Final del builder - } public function configureOptions(OptionsResolver $resolver) diff --git a/src/Form/RolesType.php b/src/Form/RolesType.php index f72c9b93..5123854e 100644 --- a/src/Form/RolesType.php +++ b/src/Form/RolesType.php @@ -4,7 +4,6 @@ use App\Entity\Roles; use Symfony\Component\Form\AbstractType; -use Symfony\Component\Form\Extension\Core\Type\ChoiceType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; @@ -16,8 +15,8 @@ public function buildForm(FormBuilderInterface $builder, array $options) ->add('nombre') // ->add('identificador') ->add('descripcion') - ->add('isActivo',null,[ - 'label'=> 'Es activo' + ->add('isActivo', null, [ + 'label' => 'Es activo', ]); } diff --git a/src/Form/SectionAddType.php b/src/Form/SectionAddType.php index c1f17569..49600c01 100644 --- a/src/Form/SectionAddType.php +++ b/src/Form/SectionAddType.php @@ -2,7 +2,6 @@ namespace App\Form; - use App\Entity\Section; use App\Form\Model\SectionFormModel; use App\Repository\SectionRepository; @@ -17,25 +16,19 @@ class SectionAddType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('section', EntityType::class,[ - 'class'=>Section::class, + ->add('section', EntityType::class, [ + 'class' => Section::class, 'mapped' => false, 'placeholder' => 'Seleccione sección', 'label' => 'Secciones disponibles', - 'query_builder' => function (SectionRepository $er) { - return $er->findDisponible(); - }, + 'query_builder' => fn (SectionRepository $er) => $er->findDisponible(), - 'attr'=>[ + 'attr' => [ 'class' => 'select2-enable', - 'placeholder' => 'Seleccione sección' - - ] + 'placeholder' => 'Seleccione sección', + ], ]) - ->add('save', SubmitType::class, array( - 'label' => 'Agregar', - 'attr' => array('class' => 'btn btn-primary btn--pill') - )) + ->add('save', SubmitType::class, ['label' => 'Agregar', 'attr' => ['class' => 'btn btn-primary btn--pill']]) ; } diff --git a/src/Form/SectionFormType.php b/src/Form/SectionFormType.php index b906945f..8a05370a 100644 --- a/src/Form/SectionFormType.php +++ b/src/Form/SectionFormType.php @@ -20,23 +20,22 @@ class SectionFormType extends AbstractType { - public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('name', null, [ 'label' => 'Nombre de la sección', - 'help' => 'Nombre que identifica a la sección entre las otras secciones' + 'help' => 'Nombre que identifica a la sección entre las otras secciones', ]) ->add('cssClass', null, [ - 'label' => 'Clase css' + 'label' => 'Clase css', ]) ->add('description', TextareaType::class, [ 'label' => 'Descripción', - 'help' => 'Una descripción que diferencie a las otras secciones parecidas' + 'help' => 'Una descripción que diferencie a las otras secciones parecidas', ]) ->add('identificador', TextType::class, [ - 'help' => 'Opcional, para usar con funciones JS, identifica a la sección dentro de una página' + 'help' => 'Opcional, para usar con funciones JS, identifica a la sección dentro de una página', ]) ->add('disponible', CheckboxType::class, [ 'required' => false, @@ -45,11 +44,11 @@ public function buildForm(FormBuilderInterface $builder, array $options) 'attr' => [ 'class' => 'form-check-input ', ], - 'help' => 'Se mostrará la sección' + 'help' => 'Se mostrará la sección', ]) ->add('disponibleAt', null, [ 'widget' => 'single_text', - 'label'=>'Inicia', + 'label' => 'Inicia', 'html5' => true, 'required' => false, // 'format' => 'yyyy-MM-dd HH:mm', @@ -59,32 +58,30 @@ public function buildForm(FormBuilderInterface $builder, array $options) ]) ->add('columns', IntegerType::class, [ 'label' => 'Cantidad de columnas', - 'required' => false + 'required' => false, ]) - ->add('disponibleHastaAt', DateTimeType::class, array( + ->add('disponibleHastaAt', DateTimeType::class, [ 'widget' => 'single_text', - 'label'=>'Finaliza', + 'label' => 'Finaliza', 'html5' => true, 'required' => false, -// 'format' => 'yyyy-MM-dd HH:mm', -// 'attr' => ['class' => 'datetimepicker'] + // 'format' => 'yyyy-MM-dd HH:mm', + // 'attr' => ['class' => 'datetimepicker'] 'attr' => ['class' => 'form-control '], 'input' => 'datetime', - )) + ]) ->add('orden', IntegerType::class, [ 'label' => 'Orden en la página', - 'required' => false + 'required' => false, ]) ->add('modelTemplate', EntityType::class, [ 'class' => ModelTemplate::class, - 'query_builder' => function (ModelTemplateRepository $er) { - return $er->findByTypeSection(); - }, + 'query_builder' => fn (ModelTemplateRepository $er) => $er->findByTypeSection(), 'help' => 'Opcional, llama a un template específico, debe estar en sections creado', 'required' => false, - 'attr'=>[ - 'class'=>'select2-enable' - ] + 'attr' => [ + 'class' => 'select2-enable', + ], ]) ->add('contenido', CKEditorType::class, [ 'required' => false, @@ -144,13 +141,12 @@ public function buildForm(FormBuilderInterface $builder, array $options) 'class' => 'form-control', ], ]); // ; Final del builder - } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults([ - 'data_class' => Section::class + 'data_class' => Section::class, ]); } } diff --git a/src/Form/Step/Entrada/StepOneType.php b/src/Form/Step/Entrada/StepOneType.php index aee22263..1c6fabe9 100644 --- a/src/Form/Step/Entrada/StepOneType.php +++ b/src/Form/Step/Entrada/StepOneType.php @@ -1,24 +1,19 @@ '#ffffff', // 'toolbar' => 'full', 'language' => 'es', - 'input_sync' => true + 'input_sync' => true, ], 'attr' => [ 'required' => false, @@ -71,9 +66,7 @@ public function buildForm(FormBuilderInterface $builder, array $options) EntityType::class, [ 'class' => User::class, - 'query_builder' => function (UserRepository $ur) { - return $ur->findByRoleAutor(); - }, + 'query_builder' => fn (UserRepository $ur) => $ur->findByRoleAutor(), 'label' => 'Autor?', 'choice_label' => 'primerNombre', 'placeholder' => 'Seleccione autor', diff --git a/src/Form/Step/Entrada/StepThreeType.php b/src/Form/Step/Entrada/StepThreeType.php index 730729fa..b06c7702 100644 --- a/src/Form/Step/Entrada/StepThreeType.php +++ b/src/Form/Step/Entrada/StepThreeType.php @@ -1,25 +1,15 @@ add('linkRoute', TextType::class, [ 'required' => false, - 'help'=>'Tiene un link interno? No debe contener link externo', + 'help' => 'Tiene un link interno? No debe contener link externo', 'attr' => [ 'class' => 'form-control', - 'list' => 'LinkRoutes' + 'list' => 'LinkRoutes', ], ]) ->add('linkPosting', TextType::class, [ - 'label'=>'Link Externo al sitio', + 'label' => 'Link Externo al sitio', 'required' => false, - 'help'=>'Tiene un link externo? No debe contener linkRoute', + 'help' => 'Tiene un link externo? No debe contener linkRoute', 'attr' => [ 'class' => 'form-control', ], @@ -44,7 +34,7 @@ public function buildForm(FormBuilderInterface $builder, array $options) 'isLinkExterno', CheckboxType::class, [ - 'help'=>'Debe abrirse el enlace en una ventana nueva?', + 'help' => 'Debe abrirse el enlace en una ventana nueva?', 'required' => false, 'label' => 'Abre otra ventana o pestaña?', 'label_attr' => ['class' => 'checkbox-custom text-dark'], @@ -58,7 +48,7 @@ public function buildForm(FormBuilderInterface $builder, array $options) TextType::class, [ 'label' => 'Pie de la entrada', - 'help'=> 'Puede usarse cómo texto de un enlace o botón (depende de la plantilla', + 'help' => 'Puede usarse cómo texto de un enlace o botón (depende de la plantilla', 'required' => false, 'attr' => [ 'class' => 'form-control', diff --git a/src/Form/Step/Section/StepOneType.php b/src/Form/Step/Section/StepOneType.php index d12552c0..494c2959 100644 --- a/src/Form/Step/Section/StepOneType.php +++ b/src/Form/Step/Section/StepOneType.php @@ -3,7 +3,6 @@ namespace App\Form\Step\Section; use App\Entity\Section; - use Doctrine\Persistence\ManagerRegistry; use Symfony\Bridge\Doctrine\Form\Type\EntityType; use Symfony\Component\Form\AbstractType; @@ -13,16 +12,11 @@ class StepOneType extends AbstractType { - - private $registry; - /** * SectionFormType constructor. - * @param ManagerRegistry $registry */ - public function __construct(ManagerRegistry $registry) + public function __construct(private readonly ManagerRegistry $registry) { - $this->registry = $registry; } public function buildForm(FormBuilderInterface $builder, array $options) @@ -55,7 +49,7 @@ public function buildForm(FormBuilderInterface $builder, array $options) 'principal', EntityType::class, [ - 'class' => 'App\Entity\Principal', + 'class' => \App\Entity\Principal::class, 'label' => 'Página?', 'choice_label' => 'linkRoute', 'placeholder' => 'Seleccione la página donde se insertará la sección', @@ -69,7 +63,7 @@ public function buildForm(FormBuilderInterface $builder, array $options) ; // Fin del builder } - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults( [ diff --git a/src/Form/Step/Section/StepThreeType.php b/src/Form/Step/Section/StepThreeType.php index 948e58f0..81d82999 100644 --- a/src/Form/Step/Section/StepThreeType.php +++ b/src/Form/Step/Section/StepThreeType.php @@ -1,9 +1,7 @@ registry = $registry; } - public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('cssClass', null, [ 'label' => 'Clase css', - 'help' => 'Las plantillas pueden aceptar class adicional, tenga en cuenta que debe ser una clase ya definida ' + 'help' => 'Las plantillas pueden aceptar class adicional, tenga en cuenta que debe ser una clase ya definida ', ]) ->add('contenido', CKEditorType::class, [ - 'label'=>'Contenido', - 'help' =>'Opcional. El contenido de la sección se verá reflejado según la plantilla que elija', + 'label' => 'Contenido', + 'help' => 'Opcional. El contenido de la sección se verá reflejado según la plantilla que elija', 'required' => false, 'config' => [ 'uiColor' => '#fafafa'], @@ -55,12 +47,9 @@ public function buildForm(FormBuilderInterface $builder, array $options) ]) ; // Fin del builder - - } - - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults( [ @@ -68,5 +57,4 @@ public function configureOptions(OptionsResolver $resolver) ] ); } - } diff --git a/src/Form/Step/Section/StepTwoType.php b/src/Form/Step/Section/StepTwoType.php index faa7ec04..6156061f 100644 --- a/src/Form/Step/Section/StepTwoType.php +++ b/src/Form/Step/Section/StepTwoType.php @@ -1,11 +1,8 @@ add('title', CKEditorType::class, [ - 'label'=>'Titulo', + 'label' => 'Titulo', 'help' => 'El título de la sección se verá reflejado según la plantilla que elija', 'required' => false, 'config' => [ @@ -33,21 +26,18 @@ public function buildForm(FormBuilderInterface $builder, array $options) ], ]) ->add('identificador', TextType::class, [ - 'label'=> 'Identificador', - 'help' => 'Opcional, normalmente para usar con funciones JS, debe ser único' + 'label' => 'Identificador', + 'help' => 'Opcional, normalmente para usar con funciones JS, debe ser único', ]) ->add('orden', IntegerType::class, [ 'label' => 'Orden en la página', - 'help'=>'Que orden tendrá en la página?', - 'required' => false + 'help' => 'Que orden tendrá en la página?', + 'required' => false, ]) ; // Fin del builder - - } - public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults( @@ -56,5 +46,4 @@ public function configureOptions(OptionsResolver $resolver) ] ); } - } diff --git a/src/Form/TypeBlockType.php b/src/Form/TypeBlockType.php index 82ab3e66..88ca446d 100644 --- a/src/Form/TypeBlockType.php +++ b/src/Form/TypeBlockType.php @@ -16,21 +16,21 @@ public function buildForm(FormBuilderInterface $builder, array $options) $builder ->add('name', TextType::class, [ 'label' => 'Que nombre tendrá el nuevo TypeBlock?', - 'attr' =>[ - 'class' => 'form-control' + 'attr' => [ + 'class' => 'form-control', ], ]) ->add('description', TextType::class, [ 'label' => 'Agregue una descripción para el nuevo TypeBlock', - 'attr' =>[ - 'class' => 'form-control' + 'attr' => [ + 'class' => 'form-control', ], ]) ->add('identifier', TextType::class, [ 'label' => 'Agregue un identificador único para el nuevo TypeBlock', 'help' => 'En minúsculas y sin espacios, puede usar guiones medios "-"', - 'attr' =>[ - 'class' => 'form-control' + 'attr' => [ + 'class' => 'form-control', ], ]) ->add('isActive', CheckboxType::class, [ diff --git a/src/Form/TypeExtension/TextareaSizeExtension.php b/src/Form/TypeExtension/TextareaSizeExtension.php index 0900c69b..7df40a1f 100644 --- a/src/Form/TypeExtension/TextareaSizeExtension.php +++ b/src/Form/TypeExtension/TextareaSizeExtension.php @@ -1,9 +1,7 @@ vars['attr']['rows'] = $options['rows']; } - /** - * @inheritDoc - */ public function finishView(FormView $view, FormInterface $form, array $options) { - } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults([ - 'rows' => 10 + 'rows' => 10, ]); - } - /** - * @inheritDoc - */ public function getExtendedType() { return TextareaType::class; } - - public static function getExtendedTypes(): iterable { return [TextareaType::class]; @@ -65,6 +43,5 @@ public static function getExtendedTypes(): iterable public function __call($name, $arguments) { - } -} \ No newline at end of file +} diff --git a/src/Form/User1Type.php b/src/Form/User1Type.php index c3c24b5f..bbb2481c 100644 --- a/src/Form/User1Type.php +++ b/src/Form/User1Type.php @@ -2,35 +2,24 @@ namespace App\Form; -use App\Entity\Roles; use App\Entity\User; use App\Repository\RolesRepository; -use App\Repository\UserRepository; -use Doctrine\DBAL\Types\JsonType; -use Symfony\Bridge\Doctrine\Form\Type\EntityType; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\ChoiceType; -use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; class User1Type extends AbstractType { - - private $rolesRepository; - /** * User1Type constructor. - * @param RolesRepository $rolesRepository */ - public function __construct(RolesRepository $rolesRepository) + public function __construct(private readonly RolesRepository $rolesRepository) { - $this->rolesRepository = $rolesRepository; } public function buildForm(FormBuilderInterface $builder, array $options) { - $rolesChoices = []; $roles = $this->rolesRepository->findAll(); foreach ($roles as $rol) { @@ -39,7 +28,7 @@ public function buildForm(FormBuilderInterface $builder, array $options) $builder ->add('email') - ->add('roles', ChoiceType::class, [ + ->add('roles', ChoiceType::class, [ 'choices' => $rolesChoices, 'expanded' => true, 'multiple' => true, @@ -47,8 +36,6 @@ public function buildForm(FormBuilderInterface $builder, array $options) ]) ->add('primerNombre') -// ->add('twitterUsername') -// ->add('avatarUrl') ; } diff --git a/src/Form/UserRegistrationFormType.php b/src/Form/UserRegistrationFormType.php index 27a4a175..39fdd207 100644 --- a/src/Form/UserRegistrationFormType.php +++ b/src/Form/UserRegistrationFormType.php @@ -2,7 +2,6 @@ namespace App\Form; - use App\Form\Model\UserRegistrationFormModel; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\CheckboxType; @@ -11,10 +10,6 @@ use Symfony\Component\Form\Extension\Core\Type\RepeatedType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; -use Symfony\Component\Validator\Constraints\IsTrue; -use Symfony\Component\Validator\Constraints\Length; -use Symfony\Component\Validator\Constraints\NotBlank; - class UserRegistrationFormType extends AbstractType { @@ -22,8 +17,8 @@ public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('email', EmailType::class) - ->add('roles',null,[ - 'mapped'=>false, + ->add('roles', null, [ + 'mapped' => false, ]) ->add('primerNombre') ->add('plainPassword', RepeatedType::class, [ @@ -36,7 +31,6 @@ public function buildForm(FormBuilderInterface $builder, array $options) 'help' => 'Min 5 caracteres'], 'second_options' => ['label' => 'Repetir Password'], 'required' => true, - ]) ->add('aceptaTerminos', CheckboxType::class, [ 'label' => 'Acepto', diff --git a/src/Form/VoluntarioReservaRegistrationFormType.php b/src/Form/VoluntarioReservaRegistrationFormType.php index 4f74510b..a6a75f7a 100644 --- a/src/Form/VoluntarioReservaRegistrationFormType.php +++ b/src/Form/VoluntarioReservaRegistrationFormType.php @@ -2,20 +2,10 @@ namespace App\Form; - -use App\Form\Model\UserRegistrationFormModel; use App\Form\Model\VoluntarioReservaRegistrationFormModel; use Symfony\Component\Form\AbstractType; -use Symfony\Component\Form\Extension\Core\Type\CheckboxType; -use Symfony\Component\Form\Extension\Core\Type\EmailType; -use Symfony\Component\Form\Extension\Core\Type\PasswordType; -use Symfony\Component\Form\Extension\Core\Type\RepeatedType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; -use Symfony\Component\Validator\Constraints\IsTrue; -use Symfony\Component\Validator\Constraints\Length; -use Symfony\Component\Validator\Constraints\NotBlank; - class VoluntarioReservaRegistrationFormType extends AbstractType { diff --git a/src/Helper/LoggerTait.php b/src/Helper/LoggerTait.php index 6a05f0e6..340d043a 100755 --- a/src/Helper/LoggerTait.php +++ b/src/Helper/LoggerTait.php @@ -11,9 +11,7 @@ trait LoggerTait */ private $logger; - /** - * @required - */ + #[\Symfony\Contracts\Service\Attribute\Required] public function setLogger(LoggerInterface $logger): void { $this->logger = $logger; diff --git a/src/Repository/BlocsFixesRepository.php b/src/Repository/BlocsFixesRepository.php index 3f5675b4..2c2c5571 100644 --- a/src/Repository/BlocsFixesRepository.php +++ b/src/Repository/BlocsFixesRepository.php @@ -4,8 +4,6 @@ use App\Entity\BlocsFixes; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; -use Doctrine\ORM\OptimisticLockException; -use Doctrine\ORM\Exception\ORMException; use Doctrine\ORM\QueryBuilder; use Doctrine\Persistence\ManagerRegistry; @@ -22,8 +20,6 @@ public function __construct(ManagerRegistry $registry) parent::__construct($registry, BlocsFixes::class); } - /** - */ public function add(BlocsFixes $entity, bool $flush = true): void { $this->_em->persist($entity); @@ -32,8 +28,6 @@ public function add(BlocsFixes $entity, bool $flush = true): void } } - /** - */ public function remove(BlocsFixes $entity, bool $flush = true): void { $this->_em->remove($entity); @@ -42,9 +36,9 @@ public function remove(BlocsFixes $entity, bool $flush = true): void } } - /** * @param string|null $bus Texto para búsqueda + * * @return QueryBuilder with all blocks fixes register */ public function queryAllBlocsFixes(?string $bus): QueryBuilder @@ -59,10 +53,9 @@ public function queryAllBlocsFixes(?string $bus): QueryBuilder ->setParameter('search', '%'.strtoupper($bus).'%'); } - return $qb; + return $qb; } - // /** // * @return BlocsFixes[] Returns an array of BlocsFixes objects // */ diff --git a/src/Repository/BroteRepository.php b/src/Repository/BroteRepository.php index 842c2f48..b538ea3f 100644 --- a/src/Repository/BroteRepository.php +++ b/src/Repository/BroteRepository.php @@ -63,6 +63,4 @@ private function getOrCreateQueryBuilder(QueryBuilder $qb = null) { return $qb ?: $this->createQueryBuilder('b'); } - - } diff --git a/src/Repository/CelebracionRepository.php b/src/Repository/CelebracionRepository.php index 0684ad96..a6425076 100644 --- a/src/Repository/CelebracionRepository.php +++ b/src/Repository/CelebracionRepository.php @@ -3,7 +3,6 @@ namespace App\Repository; use App\Entity\Celebracion; -use DateTime; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\Common\Collections\Criteria; use Doctrine\ORM\QueryBuilder; @@ -28,13 +27,12 @@ public function findAllByFechaCelebracion() ->orderBy('c.fechaCelebracionAt', 'DESC') ->getQuery() ->getResult() - ; + ; } - /** - * @return QueryBuilder Returns an array of Celebracion objects - */ - + /** + * @return QueryBuilder Returns an array of Celebracion objects + */ public function puedeMostrarse(): QueryBuilder { return $this->createQueryBuilder('c') @@ -43,7 +41,7 @@ public function puedeMostrarse(): QueryBuilder ->andWhere('c.disponibleHastaAt >= :today') ->orderBy('c.fechaCelebracionAt', 'ASC') ->setParameter('hab', true) - ->setParameter('today',new DateTime('now')) + ->setParameter('today', new \DateTime('now')) ; } @@ -54,13 +52,10 @@ public function puedeAgruparse(): QueryBuilder ->andWhere('c.disponibleHastaAt >= :today') ->orderBy('c.fechaCelebracionAt', 'ASC') ->setParameter('hab', true) - ->setParameter('today',new DateTime('now')) + ->setParameter('today', new \DateTime('now')) ; } - - - /* public function findOneBySomeField($value): ?Celebracion { @@ -75,8 +70,9 @@ public function findOneBySomeField($value): ?Celebracion private function sumar1hora() { - $datetime = new DateTime('now'); + $datetime = new \DateTime('now'); $datetime->modify('+1 hour'); + return $datetime; } @@ -85,10 +81,10 @@ private function getOrCreateQueryBuilder(QueryBuilder $qb = null) return $qb ?: $this->createQueryBuilder('c'); } - public static function createIsPresenteCriteria():Criteria + public static function createIsPresenteCriteria(): Criteria { return Criteria::create() ->andWhere(Criteria::expr()->eq('isPresente', true)) - ; + ; } } diff --git a/src/Repository/ChannelFeedRepository.php b/src/Repository/ChannelFeedRepository.php index 9eb339be..6b68072a 100644 --- a/src/Repository/ChannelFeedRepository.php +++ b/src/Repository/ChannelFeedRepository.php @@ -37,11 +37,10 @@ public function findByExampleField($value) } */ - /** - * @return ChannelFeed|null + * @return float|int|mixed|string|void|null */ - public function findFirst(): ?ChannelFeed + public function findFirst() { try { return $this->createQueryBuilder('c') @@ -50,8 +49,7 @@ public function findFirst(): ?ChannelFeed ->setMaxResults(1) ->getQuery() ->getOneOrNullResult(); - } catch (NonUniqueResultException $e) { + } catch (NonUniqueResultException) { } } - } diff --git a/src/Repository/ComentarioRepository.php b/src/Repository/ComentarioRepository.php index 5387965e..efeca1de 100755 --- a/src/Repository/ComentarioRepository.php +++ b/src/Repository/ComentarioRepository.php @@ -20,41 +20,35 @@ public function __construct(ManagerRegistry $registry) parent::__construct($registry, Comentario::class); } - - /** - * @param string|null $qSearch - * @return QueryBuilder - */ - public function searchQueryBuilder(?string $qSearch):QueryBuilder + public function searchQueryBuilder(?string $qSearch): QueryBuilder { $qb = $this->createQueryBuilder('c'); - $qb->innerJoin('c.entrada','e') + $qb->innerJoin('c.entrada', 'e') ->addSelect('e'); - $qb->innerJoin('c.autor','a') + $qb->innerJoin('c.autor', 'a') ->addSelect('a'); if ($qSearch) { $qb->andWhere('c.contenido LIKE :qsearch OR a.primerNombre LIKE :qsearch OR e.titulo LIKE :qsearch') - ->setParameter('qsearch', '%' . $qSearch . '%') + ->setParameter('qsearch', '%'.$qSearch.'%') ; } + return $qb ->orderBy('c.createdAt', 'DESC') - ; + ; } - /** - * @param string|null $qSearch * @return Comentario[] Returns an array of Comentario objects */ - public function findAllSearch(?string $qSearch) + public function findAllSearch(?string $qSearch) { $qb = $this->searchQueryBuilder($qSearch); + return $qb ->getQuery() ->getResult() - ; - + ; } // /** diff --git a/src/Repository/EntradaRepository.php b/src/Repository/EntradaRepository.php index ad7b5de7..cfc5a3ee 100755 --- a/src/Repository/EntradaRepository.php +++ b/src/Repository/EntradaRepository.php @@ -3,8 +3,6 @@ namespace App\Repository; use App\Entity\Entrada; -use DateInterval; -use DateTime; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\Common\Collections\Criteria; use Doctrine\ORM\Query\QueryException; @@ -28,10 +26,6 @@ public function __construct(ManagerRegistry $registry) // * @return Entrada[] Returns an array of Entrada objects // */ - /** - * @param $user - * @return mixed - */ public function findByAutor($user) { return $this->queryFindByAutor($user) @@ -39,11 +33,6 @@ public function findByAutor($user) ->getResult(); } - - /** - * @param $user - * @return QueryBuilder - */ public function queryFindByAutor($user, ?string $qSearch): QueryBuilder { $qb = $this->createQueryBuilder('e') @@ -64,8 +53,8 @@ public function queryFindByAutor($user, ?string $qSearch): QueryBuilder } /** - * * @return Entrada[] + * * @throws QueryException */ public function findAllPublicadosOrderedByPublicacion($user = null): array @@ -85,12 +74,11 @@ public function findAllPublicadosOrderedByPublicacionQuery($user = null): QueryB return $this->addIsPublishedQueryBuilder(null, $user) ->orderBy('e.publicadoAt', 'DESC'); -} + } /** - * - * @param $seccion * @return Entrada[] + * * @throws QueryException */ public function findAllEntradasBySeccion($seccion): array @@ -108,7 +96,7 @@ public function findAllEntradasBySeccion($seccion): array ) ->andWhere('e.publicadoAt is not null') ->andWhere('s.id = :section') - ->setParameter('today', new DateTime('now')) + ->setParameter('today', new \DateTime('now')) ->setParameter('section', $seccion) ->getQuery() ->getResult(); @@ -128,7 +116,6 @@ public static function createDisponibleForDisponibleAt(): Criteria ->orderBy(['disponibleAt' => 'ASC']); } - /* public function findOneBySomeField($value): ?Article { @@ -152,7 +139,7 @@ private function addIsPublishedQueryBuilder(QueryBuilder $qb = null, $user = nul return $qb; } - private function addIsDisponibleForSeccion(QueryBuilder $qb = null, $seccion): QueryBuilder + private function addIsDisponibleForSeccion($seccion, QueryBuilder $qb = null): QueryBuilder { return $this->getOrCreateQueryBuilder($qb) ->andWhere('s.publicadoAt IS NOT NULL'); @@ -163,10 +150,6 @@ private function getOrCreateQueryBuilder(QueryBuilder $qb = null): QueryBuilder return $qb ?: $this->createQueryBuilder('e'); } - /** - * @param string|null $qSearch - * @return QueryBuilder - */ public function queryFindAllEntradas(?string $qSearch): QueryBuilder { $qb = $this->createQueryBuilder('e') @@ -184,11 +167,8 @@ public function queryFindAllEntradas(?string $qSearch): QueryBuilder return $qb; } - /** - */ public function entradasByDateAndActiveAndModification($fecha_inicial, $fecha_final): QueryBuilder { - $qb = $this->createQueryBuilder('e') ->select() // ->andWhere('e.disponibleAt is not null') @@ -206,5 +186,4 @@ public function entradasByDateAndActiveAndModification($fecha_inicial, $fecha_fi return $qb; } - } diff --git a/src/Repository/GroupCelebrationRepository.php b/src/Repository/GroupCelebrationRepository.php index 13e8736a..dca9d717 100644 --- a/src/Repository/GroupCelebrationRepository.php +++ b/src/Repository/GroupCelebrationRepository.php @@ -3,7 +3,6 @@ namespace App\Repository; use App\Entity\GroupCelebration; -use DateTime; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; use Doctrine\Persistence\ManagerRegistry; @@ -21,23 +20,20 @@ public function __construct(ManagerRegistry $registry) parent::__construct($registry, GroupCelebration::class); } - /** - * @return QueryBuilder Returns an array of GroupCelebration objects - */ - + /** + * @return QueryBuilder Returns an array of GroupCelebration objects + */ public function findByActive(): QueryBuilder { return $this->createQueryBuilder('g') ->andWhere('g.isActivo = :val') ->setParameter('val', true) ->orderBy('g.title', 'ASC'); -// ->setMaxResults(10) -// ->getQuery() -// ->getResult() - ; + // ->setMaxResults(10) + // ->getQuery() + // ->getResult() } - /* public function findOneBySomeField($value): ?GroupCelebration { @@ -50,11 +46,9 @@ public function findOneBySomeField($value): ?GroupCelebration } */ - /** * @return QueryBuilder Returns an array of Celebracion objects */ - public function puedeMostrarse(): QueryBuilder { return $this->createQueryBuilder('g') @@ -75,7 +69,7 @@ public function puedeMostrarse(): QueryBuilder ->addOrderBy('c.fechaCelebracionAt', 'ASC') ->setParameter('activo', true) // ->setParameter('hab', true) - ->setParameter('today',new DateTime('now')) - ; + ->setParameter('today', new \DateTime('now')) + ; } } diff --git a/src/Repository/InvitadoRepository.php b/src/Repository/InvitadoRepository.php index a3eeb2b8..9bd80a51 100644 --- a/src/Repository/InvitadoRepository.php +++ b/src/Repository/InvitadoRepository.php @@ -39,9 +39,7 @@ public function findByExampleField($value) } */ - /** - * @param string $value * @return int|mixed|string */ public function countByCelebracion(string $value) @@ -53,12 +51,9 @@ public function countByCelebracion(string $value) ->setParameter('val', $value) ->getQuery() ->getSingleScalarResult(); - } catch (NoResultException $e) { - return $e; - } catch (NonUniqueResultException $e) { + } catch (NoResultException|NonUniqueResultException $e) { return $e; } - } public function findOneByReserva($invitado): ?Invitado @@ -73,11 +68,6 @@ public function findOneByReserva($invitado): ?Invitado ->getResult(); } - /** - * @param string|null $celebracion - * @param string|null $qSearch - * @return QueryBuilder - */ public function searchBuilder(?string $celebracion, ?string $qSearch): QueryBuilder { $qb = $this->createQueryBuilder('i'); @@ -87,24 +77,19 @@ public function searchBuilder(?string $celebracion, ?string $qSearch): QueryBuil } if ($qSearch) { $qb->andWhere('i.apellido LIKE :qsearch OR i.nombre LIKE :qsearch OR i.email LIKE :qsearch') - ->setParameter('qsearch', '%' . $qSearch . '%'); + ->setParameter('qsearch', '%'.$qSearch.'%'); } return $qb; } - /** - * @param string|null $celebracion - * @param string|null $qSearch - * @return QueryBuilder - */ public function searchQueryBuilder(?string $celebracion, ?string $qSearch): QueryBuilder { $qb = $this->searchBuilder($celebracion, $qSearch); + return $qb ->addOrderBy('i.createdAt', 'DESC') ->addOrderBy('i.apellido', 'DESC'); - } public function byCelebracionForExport($celebracion) @@ -114,6 +99,7 @@ public function byCelebracionForExport($celebracion) $qb->leftJoin('i.enlace', 'invitante'); $qb->addOrderBy('invitante.apellido', 'ASC'); $qb->addOrderBy('i.isEnlace', 'DESC'); + return $qb->getQuery() ->getArrayResult(); } @@ -124,7 +110,6 @@ public function getInvitadosByCelebracion($celebracion) ->select('i') ->andWhere('i.celebracion = :celebracion') ->setParameter(':celebracion', $celebracion); - } public function getAusentesCelebracion($celebracion) @@ -136,7 +121,6 @@ public function getAusentesCelebracion($celebracion) } /** - * @param string $celebracion * @return int|mixed|string */ public function countAusentesByCelebracion(string $celebracion) @@ -150,16 +134,12 @@ public function countAusentesByCelebracion(string $celebracion) ->setParameter('cel', $celebracion) ->getQuery() ->getSingleScalarResult(); - } catch (NoResultException $e) { - return $e; - } catch (NonUniqueResultException $e) { + } catch (NoResultException|NonUniqueResultException $e) { return $e; } - } /** - * @param string $enlace * @return int|mixed|string */ public function countInvitadorByReservante(string $enlace) @@ -171,28 +151,22 @@ public function countInvitadorByReservante(string $enlace) ->setParameter('enlace', $enlace) ->getQuery() ->getSingleScalarResult(); - } catch (NoResultException | NonUniqueResultException $e) { + } catch (NoResultException|NonUniqueResultException $e) { return $e; } - } /** - * @param $celebracion - * @param $email * @return int|mixed|string */ public function findOneByCelebracionEmail($celebracion, $email) { - - return $this->createQueryBuilder('i') - ->andWhere('i.celebracion = :cel') - ->andWhere('i.email = :email') - ->setParameter('cel', $celebracion) - ->setParameter('email', $email) - ->getQuery() - ->getResult(); - + return $this->createQueryBuilder('i') + ->andWhere('i.celebracion = :cel') + ->andWhere('i.email = :email') + ->setParameter('cel', $celebracion) + ->setParameter('email', $email) + ->getQuery() + ->getResult(); } - } diff --git a/src/Repository/ModelTemplateRepository.php b/src/Repository/ModelTemplateRepository.php index 8a7f3348..a4a0d1ca 100644 --- a/src/Repository/ModelTemplateRepository.php +++ b/src/Repository/ModelTemplateRepository.php @@ -23,13 +23,12 @@ public function __construct(ManagerRegistry $registry) /** * @return QueryBuilder Returns an array of ModelTemplate objects */ - public function findByTypeSection(): QueryBuilder { return $this->createQueryBuilder('m') ->leftJoin('m.block', 'b') ->andWhere('b.identifier = :val') - ->setParameter('val', 'seccion' ) + ->setParameter('val', 'seccion') ->orderBy('m.description', 'ASC') // ->setMaxResults(10) // ->getQuery() @@ -40,18 +39,17 @@ public function findByTypeSection(): QueryBuilder /** * @return QueryBuilder Returns an array of ModelTemplate objects */ - public function findByTypeEntrada(): QueryBuilder { return $this->createQueryBuilder('m') ->leftJoin('m.block', 'b') ->andWhere('b.identifier = :val') - ->setParameter('val', 'entrada' ) + ->setParameter('val', 'entrada') ->orderBy('m.description', 'ASC') // ->setMaxResults(10) // ->getQuery() // ->getResult() - ; + ; } public function findAllModelTemplates(): QueryBuilder @@ -66,7 +64,7 @@ public function findModelTemplatesByBlock($block): QueryBuilder return $this->createQueryBuilder('m') ->leftJoin('m.block', 'b') ->andWhere('b.identifier = :val') - ->setParameter('val', $block ) + ->setParameter('val', $block) ->addOrderBy('m.description', 'ASC'); } diff --git a/src/Repository/PrincipalRepository.php b/src/Repository/PrincipalRepository.php index 823f3afd..bbb2af88 100755 --- a/src/Repository/PrincipalRepository.php +++ b/src/Repository/PrincipalRepository.php @@ -3,7 +3,6 @@ namespace App\Repository; use App\Entity\Principal; -use DateTime; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; use Doctrine\Persistence\ManagerRegistry; @@ -22,10 +21,8 @@ public function __construct(ManagerRegistry $registry) } /** - * @param $principal * @return Principal[] Returns an array of Principal objects */ - public function findByPrincipalParent($principal): array { return $this->createQueryBuilder('m') @@ -36,12 +33,6 @@ public function findByPrincipalParent($principal): array ->getResult(); } - - /** - * @param $principal - * @return QueryBuilder - */ - public function getQueryfindByPrincipalParentActive($principal): QueryBuilder { return $this->createQueryBuilder('m') @@ -52,7 +43,6 @@ public function getQueryfindByPrincipalParentActive($principal): QueryBuilder ->orderBy('m.createdAt', 'DESC'); } - /* public function findOneBySomeField($value): ?Principal { @@ -79,10 +69,6 @@ private function getOrCreateQueryBuilder(QueryBuilder $qb = null): QueryBuilder return $qb ?: $this->createQueryBuilder('p'); } - /** - * @param string|null $qSearch - * @return QueryBuilder - */ public function queryFindAllPrincipals(?string $qSearch): QueryBuilder { $qb = $this->createQueryBuilder('p') @@ -95,20 +81,14 @@ public function queryFindAllPrincipals(?string $qSearch): QueryBuilder 'upper(p.contenido) LIKE :qsearch OR upper(a.primerNombre) LIKE :qsearch OR upper(p.titulo) LIKE :qsearch OR upper(p.linkRoute) LIKE :qsearch' ) ->setParameter('qsearch', '%'.strtoupper($qSearch).'%'); - }; + } return $qb; } - /** - * @param DateTime $fecha_inicial - * @param DateTime $fecha_final - * @param array|null $notPrincipals - * @return QueryBuilder - */ public function principalByDateAndActiveAndModification( - DateTime $fecha_inicial, - DateTime $fecha_final, + \DateTime $fecha_inicial, + \DateTime $fecha_final, ?array $notPrincipals ): QueryBuilder { $qb = $this->createQueryBuilder('p') @@ -134,7 +114,7 @@ public function principalByDateAndActiveAndModification( ':inicio', ':final' ), - $qb->expr()->eq('s.disponible', true) + $qb->expr()->eq('s.disponible', true) ) ) ->setParameter('inicio', $fecha_inicial) @@ -153,10 +133,8 @@ public function principalByDateAndActiveAndModification( ->setParameter('inicio', $fecha_inicial) ->setParameter('final', $fecha_final); -// $qb->andWhere($qb->expr()->notIn('p.id', $notPrincipals)); + // $qb->andWhere($qb->expr()->notIn('p.id', $notPrincipals)); return $qb; - - } } diff --git a/src/Repository/ReservanteRepository.php b/src/Repository/ReservanteRepository.php index ef8ea2da..947b07b7 100644 --- a/src/Repository/ReservanteRepository.php +++ b/src/Repository/ReservanteRepository.php @@ -36,7 +36,6 @@ public function findByExampleField($value) } */ - public function findOneByReserva($celebracion, $email): ?Reservante { return $this->createQueryBuilder('r') @@ -48,5 +47,4 @@ public function findOneByReserva($celebracion, $email): ?Reservante ->getOneOrNullResult() ; } - } diff --git a/src/Repository/SectionRepository.php b/src/Repository/SectionRepository.php index 08da19d8..141cc699 100644 --- a/src/Repository/SectionRepository.php +++ b/src/Repository/SectionRepository.php @@ -3,7 +3,6 @@ namespace App\Repository; use App\Entity\Section; -use DateTime; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\Common\Collections\Criteria; use Doctrine\ORM\NonUniqueResultException; @@ -32,8 +31,6 @@ public static function createActivo(): Criteria } /** - * - * @return QueryBuilder * @throws QueryException */ public function findDisponible(): QueryBuilder @@ -44,7 +41,7 @@ public function findDisponible(): QueryBuilder return $this->addIsDisponibleQueryBuilder() // ->getQuery() // ->getResult() - ; + ; } private function addIsDisponibleQueryBuilder(QueryBuilder $qb = null): QueryBuilder @@ -66,7 +63,6 @@ private function getQueryBuilderOrderByUpdate(QueryBuilder $qb = null): QueryBui return $qb; } - public function getSections(?string $qSearch): QueryBuilder { $qb = $this->createQueryBuilder('s') @@ -82,13 +78,12 @@ public function getSections(?string $qSearch): QueryBuilder $qb->andWhere( 'UPPER(s.contenido) LIKE :qsearch OR upper(a.primerNombre) LIKE :qsearch OR upper(s.title) LIKE :qsearch OR upper(p.titulo) LIKE :qsearch OR upper(e.titulo) LIKE :qsearch' ) - ->setParameter('qsearch', '%' . mb_strtoupper($qSearch) . '%'); + ->setParameter('qsearch', '%'.mb_strtoupper($qSearch).'%'); } return $qb; } - // /** // * @return Section[] Returns an array of Section objects // */ @@ -106,8 +101,7 @@ public function findByExampleField($value) } */ - - public function findOneBySomeField($section, $entrada): ?Section + public function findOneBySomeField($section, $entrada) { try { return $this->createQueryBuilder('s') @@ -118,7 +112,8 @@ public function findOneBySomeField($section, $entrada): ?Section ->setParameter('section', $entrada) ->getQuery() ->getOneOrNullResult(); - } catch (NonUniqueResultException $e) { + } catch (NonUniqueResultException $exception) { + return $exception->getMessage(); } } @@ -137,9 +132,7 @@ public function sectionByDateAndActiveAndModification( $fecha_inicial, $fecha_final, ?array $notSection - ): QueryBuilder - { - + ): QueryBuilder { $qb = $this->createQueryBuilder('s') ->select() ->andWhere('s.disponible = true'); @@ -157,6 +150,4 @@ public function sectionByDateAndActiveAndModification( return $qb; } - - } diff --git a/src/Repository/SourceApiRepository.php b/src/Repository/SourceApiRepository.php index d1ce7b3b..21c1d4b4 100644 --- a/src/Repository/SourceApiRepository.php +++ b/src/Repository/SourceApiRepository.php @@ -39,28 +39,28 @@ public function remove(SourceApi $entity, bool $flush = false): void } } -// /** -// * @return SourceApi[] Returns an array of SourceApi objects -// */ -// public function findByExampleField($value): array -// { -// return $this->createQueryBuilder('s') -// ->andWhere('s.exampleField = :val') -// ->setParameter('val', $value) -// ->orderBy('s.id', 'ASC') -// ->setMaxResults(10) -// ->getQuery() -// ->getResult() -// ; -// } + // /** + // * @return SourceApi[] Returns an array of SourceApi objects + // */ + // public function findByExampleField($value): array + // { + // return $this->createQueryBuilder('s') + // ->andWhere('s.exampleField = :val') + // ->setParameter('val', $value) + // ->orderBy('s.id', 'ASC') + // ->setMaxResults(10) + // ->getQuery() + // ->getResult() + // ; + // } -// public function findOneBySomeField($value): ?SourceApi -// { -// return $this->createQueryBuilder('s') -// ->andWhere('s.exampleField = :val') -// ->setParameter('val', $value) -// ->getQuery() -// ->getOneOrNullResult() -// ; -// } + // public function findOneBySomeField($value): ?SourceApi + // { + // return $this->createQueryBuilder('s') + // ->andWhere('s.exampleField = :val') + // ->setParameter('val', $value) + // ->getQuery() + // ->getOneOrNullResult() + // ; + // } } diff --git a/src/Repository/UserRepository.php b/src/Repository/UserRepository.php index 779ec80d..75212d29 100755 --- a/src/Repository/UserRepository.php +++ b/src/Repository/UserRepository.php @@ -21,12 +21,10 @@ public function __construct(ManagerRegistry $registry) } /** - * @param $email - * @param $role * @return User[] Returns an array of User objects + * * @throws NonUniqueResultException */ - public function findByRoleAndEmail($email, $role) { return $this->createQueryBuilder('u') @@ -49,30 +47,29 @@ public function findByRoleAutor() ; } - public function findAllEmailsRoleAlfa(string $role = null, string $query, int $limit = 5) + public function findAllEmailsRoleAlfa(string $query, string $role = null, int $limit = 5) { $qb = $this->createQueryBuilder('u'); - - if($role){ + if ($role) { $qb->andWhere('u.roles LIKE :roles') ->setParameter('roles', '%'.$role.'%'); } -// - $qb->andWhere('u.email LIKE :email') - ->setParameter('email', '%'.$query.'%'); -// dd($qb); -// -// $qb->orderBy('u.email', 'ASC') -// -// ; + + $qb->andWhere('u.email LIKE :email') + ->setParameter('email', '%'.$query.'%'); + + // dd($qb); + // + // $qb->orderBy('u.email', 'ASC') + // + // ; return $qb ->setMaxResults($limit) ->getQuery() ->getResult(); } - /* public function findOneBySomeField($value): ?User { diff --git a/src/Repository/WaitingListRepository.php b/src/Repository/WaitingListRepository.php index 8c0b782d..b3be8a32 100644 --- a/src/Repository/WaitingListRepository.php +++ b/src/Repository/WaitingListRepository.php @@ -20,7 +20,7 @@ public function __construct(ManagerRegistry $registry) parent::__construct($registry, WaitingList::class); } - public function WaitingNotInvitado($id_celebracion, $invitados ): QueryBuilder + public function WaitingNotInvitado($id_celebracion, $invitados): QueryBuilder { $qb = $this->createQueryBuilder('w') ->leftJoin('w.celebracion', 'c') diff --git a/src/Rss/Xml.php b/src/Rss/Xml.php index ead06f71..3a9d7250 100644 --- a/src/Rss/Xml.php +++ b/src/Rss/Xml.php @@ -1,20 +1,11 @@ getTitle()); @@ -36,10 +27,9 @@ public static function generate(ChannelFeed $channelFeed, string $site_podcasts) {$link} xml; foreach ($channelFeed->getItem() as $post) { - $titleItem = self::xmlEscape($post->getTitle()); $descripcionItem = self::xmlEscape($post->getDescripcion()); - $url = $site_podcasts .'/' . self::xmlEscape($post->getLinkUrl()); + $url = $site_podcasts.'/'.self::xmlEscape($post->getLinkUrl()); $type = self::xmlEscape($post->getLinkType()); $longitud = self::xmlEscape($post->getLinkLongitud()); $duration = $post->getDuracion()->format('H:i:s'); @@ -56,13 +46,13 @@ public static function generate(ChannelFeed $channelFeed, string $site_podcasts) xml; } - $xml .= ""; + $xml .= ''; return $xml; } private static function xmlEscape($string) { - return str_replace(array('&', '<', '>', '\'', '"'), array('&', '<', '>', ''', '"'), $string); + return str_replace(['&', '<', '>', '\'', '"'], ['&', '<', '>', ''', '"'], (string) $string); } -} \ No newline at end of file +} diff --git a/src/Security/ApiTokenAuthenticator.php b/src/Security/ApiTokenAuthenticator.php index 7091c47d..31765017 100755 --- a/src/Security/ApiTokenAuthenticator.php +++ b/src/Security/ApiTokenAuthenticator.php @@ -3,7 +3,6 @@ namespace App\Security; use App\Repository\ApiTokenRepository; -use Exception; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; @@ -15,18 +14,15 @@ class ApiTokenAuthenticator extends AbstractGuardAuthenticator { - private $apiTokenRepository; - - public function __construct(ApiTokenRepository $apiTokenRepository) + public function __construct(private readonly ApiTokenRepository $apiTokenRepository) { - $this->apiTokenRepository = $apiTokenRepository; } public function supports(Request $request) { // Reviso las cabeceras "Authorization: Bearer " return $request->headers->has('Authorization') - && 0 === strpos($request->headers->get('Authorization'), 'Bearer '); + && str_starts_with($request->headers->get('Authorization'), 'Bearer '); } public function getCredentials(Request $request) @@ -61,7 +57,7 @@ public function onAuthenticationFailure(Request $request, AuthenticationExceptio { return new JsonResponse([ 'message' => $exception->getMessageKey(), - ], 401); + ], \Symfony\Component\HttpFoundation\Response::HTTP_UNAUTHORIZED); } public function onAuthenticationSuccess(Request $request, TokenInterface $token, $providerKey) @@ -69,9 +65,9 @@ public function onAuthenticationSuccess(Request $request, TokenInterface $token, // todo } - public function start(Request $request, AuthenticationException $authException = null) + public function start(Request $request, AuthenticationException $authException = null): \Symfony\Component\HttpFoundation\Response { - throw new Exception('No utilizado: se utiliza el punto de entrada de otro autenticador'); + throw new \Exception('No utilizado: se utiliza el punto de entrada de otro autenticador'); } public function supportsRememberMe() diff --git a/src/Security/LoginFormAuthenticator.php b/src/Security/LoginFormAuthenticator.php index 70d9021f..fb425088 100755 --- a/src/Security/LoginFormAuthenticator.php +++ b/src/Security/LoginFormAuthenticator.php @@ -2,72 +2,35 @@ namespace App\Security; -use App\Entity\User; +use App\Repository\UserRepository; use Doctrine\ORM\EntityManagerInterface; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Generator\UrlGeneratorInterface; +use Symfony\Component\Routing\RouterInterface; use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; -//use Symfony\Component\Security\Core\Encoder\UserPasswordHasherInterface; -use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface; use Symfony\Component\Security\Core\Exception\AuthenticationException; -use Symfony\Component\Security\Core\Exception\CustomUserMessageAuthenticationException; -use Symfony\Component\Security\Core\Exception\InvalidCsrfTokenException; -use Symfony\Component\Security\Core\Security; -use Symfony\Component\Security\Core\User\UserInterface; -use Symfony\Component\Security\Core\User\UserProviderInterface; -use Symfony\Component\Security\Csrf\CsrfToken; -use Symfony\Component\Security\Csrf\CsrfTokenManagerInterface; -use Symfony\Component\Security\Http\Authenticator\AbstractAuthenticator; -use Symfony\Component\Security\Http\EntryPoint\AuthenticationEntryPointInterface; -use Symfony\Component\Security\Http\Util\TargetPathTrait; -use App\Repository\UserRepository; -use Symfony\Component\Routing\RouterInterface; use Symfony\Component\Security\Core\Exception\UserNotFoundException; +use Symfony\Component\Security\Http\Authenticator\AbstractLoginFormAuthenticator; use Symfony\Component\Security\Http\Authenticator\Passport\Badge\CsrfTokenBadge; use Symfony\Component\Security\Http\Authenticator\Passport\Badge\RememberMeBadge; use Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge; use Symfony\Component\Security\Http\Authenticator\Passport\Credentials\PasswordCredentials; use Symfony\Component\Security\Http\Authenticator\Passport\Passport; +use Symfony\Component\Security\Http\EntryPoint\AuthenticationEntryPointInterface; +use Symfony\Component\Security\Http\Util\TargetPathTrait; -class LoginFormAuthenticator extends AbstractAuthenticator implements AuthenticationEntryPointInterface +class LoginFormAuthenticator extends AbstractLoginFormAuthenticator implements AuthenticationEntryPointInterface { use TargetPathTrait; - private UserRepository $userRepository; - private RouterInterface $router; - - public const LOGIN_ROUTE = 'app_login'; + final public const LOGIN_ROUTE = 'app_login'; - private EntityManagerInterface $entityManager; - private UrlGeneratorInterface $urlGenerator; - private CsrfTokenManagerInterface $csrfTokenManager; - private UserPasswordHasherInterface $passwordEncoder; - - /** - * @param EntityManagerInterface $entityManager - * @param UrlGeneratorInterface $urlGenerator - * @param CsrfTokenManagerInterface $csrfTokenManager - * @param UserPasswordHasherInterface $passwordEncoder - * @param UserRepository $userRepository - * @param RouterInterface $router - */ - public function __construct( - EntityManagerInterface $entityManager, - UrlGeneratorInterface $urlGenerator, - CsrfTokenManagerInterface $csrfTokenManager, - UserPasswordHasherInterface $passwordEncoder, - UserRepository $userRepository, - RouterInterface $router - ) + public function __construct(private readonly EntityManagerInterface $entityManager, + private readonly UrlGeneratorInterface $urlGenerator, private readonly UserRepository $userRepository, + private readonly RouterInterface $router) { - $this->entityManager = $entityManager; - $this->urlGenerator = $urlGenerator; - $this->csrfTokenManager = $csrfTokenManager; - $this->passwordEncoder = $passwordEncoder; - $this->userRepository = $userRepository; - $this->router = $router; } public function start(Request $request, AuthenticationException $authException = null): Response @@ -77,22 +40,19 @@ public function start(Request $request, AuthenticationException $authException = ); } - public function supports(Request $request): ?bool - { - return ($request->getPathInfo() === '/admin/ingreso' && $request->isMethod('POST')); - } - public function authenticate(Request $request): Passport { $email = $request->request->get('email'); $password = $request->request->get('password'); + return new Passport( - new UserBadge($email, function($userIdentifier) { + new UserBadge($email, function ($userIdentifier) { // optionally pass a callback to load the User manually $user = $this->userRepository->findOneBy(['email' => $userIdentifier]); if (!$user) { throw new UserNotFoundException(); } + return $user; }), new PasswordCredentials($password), @@ -101,78 +61,32 @@ public function authenticate(Request $request): Passport 'authenticate', $request->request->get('_csrf_token') ), - new RememberMeBadge(), + (new RememberMeBadge())->enable(), ] ); } - public function onAuthenticationSuccess(Request $request, TokenInterface $token, string $firewallName):?Response + public function onAuthenticationSuccess(Request $request, TokenInterface $token, string $firewallName): ?Response { if ($targetPath = $this->getTargetPath($request->getSession(), $firewallName)) { return new RedirectResponse($targetPath); } + return new RedirectResponse( $this->router->generate('admin') ); } - public function onAuthenticationFailure(Request $request, AuthenticationException $exception): ?Response + public function onAuthenticationFailure(Request $request, AuthenticationException $exception): Response { - $request->getSession()->set(Security::AUTHENTICATION_ERROR, $exception); + $request->getSession()->set(\Symfony\Component\Security\Http\SecurityRequestAttributes::AUTHENTICATION_ERROR, $exception); + return new RedirectResponse( $this->router->generate('app_login') ); } - public function getCredentials(Request $request): array - { - $credentials = [ - 'email' => $request->request->get('email'), - 'password' => $request->request->get('password'), - 'csrf_token' => $request->request->get('_csrf_token'), - ]; - $request->getSession()->set( - Security::LAST_USERNAME, - $credentials['email'] - ); - return $credentials; - } - - public function getUser($credentials, UserProviderInterface $userProvider) - { - $token = new CsrfToken('authenticate', $credentials['csrf_token']); - if (!$this->csrfTokenManager->isTokenValid($token)) { - throw new InvalidCsrfTokenException(); - } - - $user = $this->entityManager->getRepository(User::class)->findOneBy(['email' => $credentials['email']]); - - if (!$user) { - // fail authentication with a custom error - throw new CustomUserMessageAuthenticationException('Credenciales no válidas.'); - } - return $user; - } - - public function checkCredentials($credentials, UserInterface $user): bool - { - $valid = $this->passwordEncoder->isPasswordValid($user, $credentials['password']); - if (!$valid) { - // fail authentication with a custom error - throw new CustomUserMessageAuthenticationException('Credenciales no válidas.'); - } - return $valid; - } - - /** - * Used to upgrade (rehash) the user's password automatically over time. - */ - public function getPassword($credentials): ?string - { - return $credentials['password']; - } - - protected function getLoginUrl(): string + protected function getLoginUrl(Request $request): string { return $this->urlGenerator->generate(self::LOGIN_ROUTE); } diff --git a/src/Security/Voter/EntradaVoter.php b/src/Security/Voter/EntradaVoter.php index 12f6be63..9a8f80a2 100755 --- a/src/Security/Voter/EntradaVoter.php +++ b/src/Security/Voter/EntradaVoter.php @@ -10,14 +10,11 @@ class EntradaVoter extends Voter { - private $security; - - public function __construct(Security $security) + public function __construct(private readonly \Symfony\Bundle\SecurityBundle\Security $security) { - $this->security = $security; } - protected function supports($attribute, $subject) + protected function supports($attribute, $subject): bool { // replace with your own logic // https://symfony.com/doc/current/security/voters.html @@ -25,7 +22,7 @@ protected function supports($attribute, $subject) && $subject instanceof Entrada; } - protected function voteOnAttribute($attribute, $subject, TokenInterface $token) + protected function voteOnAttribute($attribute, $subject, TokenInterface $token): bool { /** * @var Entrada $subject @@ -51,7 +48,7 @@ protected function voteOnAttribute($attribute, $subject, TokenInterface $token) return true; } - return false; + return false; } return false; diff --git a/src/Security/Voter/SectionVoter.php b/src/Security/Voter/SectionVoter.php index dc6c2794..e1c91ad5 100644 --- a/src/Security/Voter/SectionVoter.php +++ b/src/Security/Voter/SectionVoter.php @@ -10,14 +10,11 @@ class SectionVoter extends Voter { - private $security; - - public function __construct(Security $security) + public function __construct(private readonly \Symfony\Bundle\SecurityBundle\Security $security) { - $this->security = $security; } - protected function supports($attribute, $subject) + protected function supports($attribute, $subject): bool { // replace with your own logic // https://symfony.com/doc/current/security/voters.html @@ -25,7 +22,7 @@ protected function supports($attribute, $subject) && $subject instanceof Section; } - protected function voteOnAttribute($attribute, $subject, TokenInterface $token) + protected function voteOnAttribute($attribute, $subject, TokenInterface $token): bool { /** * @var Section $subject diff --git a/src/Service/BoleanToDateHelper.php b/src/Service/BoleanToDateHelper.php index 550a7246..ab9f32f5 100755 --- a/src/Service/BoleanToDateHelper.php +++ b/src/Service/BoleanToDateHelper.php @@ -2,16 +2,14 @@ namespace App\Service; -use DateTime; - class BoleanToDateHelper { private $boolean; - public function setDatatimeForTrue(bool $boolean): ?DateTime + public function setDatatimeForTrue(bool $boolean): ?\DateTime { if (true == $boolean) { - return new DateTime('now'); + return new \DateTime('now'); } return null; diff --git a/src/Service/Handler/Celebracion/HandlerCelebracion.php b/src/Service/Handler/Celebracion/HandlerCelebracion.php index e075ab76..0bc974d5 100644 --- a/src/Service/Handler/Celebracion/HandlerCelebracion.php +++ b/src/Service/Handler/Celebracion/HandlerCelebracion.php @@ -1,9 +1,7 @@ invitadoRepository = $invitadoRepository; - $this->celebracionRepository = $celebracionRepository; -} + public function __construct(private readonly InvitadoRepository $invitadoRepository, private readonly CelebracionRepository $celebracionRepository) + { + } - /** - * @param Celebracion $celebracion - * @return bool - */ public function hayLugar(Celebracion $celebracion): bool { - $ocupadas = $this->invitadoRepository->countByCelebracion($celebracion->getId()); - $lugares = $celebracion->getCapacidad(); + $ocupadas = $this->invitadoRepository->countByCelebracion($celebracion->getId()); + $lugares = $celebracion->getCapacidad(); - return $lugares > $ocupadas; + return $lugares > $ocupadas; } /** - * @param Celebracion $celebracion * @return WaitingList[]|Collection */ public function theWaitingList(Celebracion $celebracion) @@ -49,7 +35,6 @@ public function theWaitingList(Celebracion $celebracion) } /** - * @param Celebracion $celebracion * @return Invitado[]|Collection */ public function theInvitadosList(Celebracion $celebracion) @@ -57,21 +42,14 @@ public function theInvitadosList(Celebracion $celebracion) return $celebracion->getInvitados(); } - /** - * @param Celebracion $celebracion - * @return array - */ public function theInvitadosEmail(Celebracion $celebracion): array { $invitados = []; - foreach($celebracion->getInvitados() as $invitado ){ + foreach ($celebracion->getInvitados() as $invitado) { array_push($invitado, $invitado->getEmail()); } - return $invitados; + return $invitados; } - - - -} \ No newline at end of file +} diff --git a/src/Service/Handler/SourceApi/HandlerSourceApi.php b/src/Service/Handler/SourceApi/HandlerSourceApi.php index 7bf9b51e..771bc97a 100644 --- a/src/Service/Handler/SourceApi/HandlerSourceApi.php +++ b/src/Service/Handler/SourceApi/HandlerSourceApi.php @@ -12,14 +12,8 @@ class HandlerSourceApi { - private HttpClientInterface $client; - - /** - * @param HttpClientInterface $client - */ - public function __construct(HttpClientInterface $client) + public function __construct(private readonly HttpClientInterface $client) { - $this->client = $client; } /** @@ -37,7 +31,5 @@ public function fetchSourceApi(SourceApi $api): array ); return $response->toArray(); - } - -} \ No newline at end of file +} diff --git a/src/Service/LoggerClient.php b/src/Service/LoggerClient.php index abba4983..8c99fd7e 100755 --- a/src/Service/LoggerClient.php +++ b/src/Service/LoggerClient.php @@ -8,9 +8,6 @@ class LoggerClient { use LoggerTait; - /** - * @param string $context|null - */ public function logMessage(string $message, string $context) { $this->logInfo('Edit Entrada', [ diff --git a/src/Service/Mailer.php b/src/Service/Mailer.php index 04e7c69b..c0a29fad 100644 --- a/src/Service/Mailer.php +++ b/src/Service/Mailer.php @@ -2,7 +2,6 @@ namespace App\Service; - use App\Entity\Celebracion; use App\Entity\Invitado; use App\Entity\Reservante; @@ -17,28 +16,14 @@ class Mailer { - private $mailer; - private $twig; - private $waitingListRepository; - - /** * Mailer constructor. - * @param MailerInterface $mailer - * @param Environment $twig - * @param WaitingListRepository $waitingListRepository */ - public function __construct(MailerInterface $mailer, Environment $twig, WaitingListRepository $waitingListRepository) + public function __construct(private readonly MailerInterface $mailer, private readonly Environment $twig, private readonly WaitingListRepository $waitingListRepository) { - $this->mailer = $mailer; - $this->twig = $twig; - $this->waitingListRepository = $waitingListRepository; } /** - * @param Reservante $reservante - * @param null|int $invitados - * @return TemplatedEmail * @throws TransportExceptionInterface */ public function sendReservaMessage(Reservante $reservante, ?int $invitados): TemplatedEmail @@ -51,7 +36,7 @@ public function sendReservaMessage(Reservante $reservante, ?int $invitados): Tem ->context([ // You can pass whatever data you want 'reservante' => $reservante, - 'invitados' => $invitados + 'invitados' => $invitados, ]); $this->mailer->send($email); @@ -60,8 +45,6 @@ public function sendReservaMessage(Reservante $reservante, ?int $invitados): Tem } /** - * @param WaitingList $espera - * @return TemplatedEmail * @throws TransportExceptionInterface */ public function sendAvisoRegistroReservaMessage(WaitingList $espera): TemplatedEmail @@ -82,17 +65,13 @@ public function sendAvisoRegistroReservaMessage(WaitingList $espera): TemplatedE } /** - * @param Celebracion $celebracion - * @return bool * @throws TransportExceptionInterface */ public function sendAvisoLugarMessage(Celebracion $celebracion): bool { - $esperan = $celebracion->getWaitingLists(); foreach ($esperan as $espera) { - $email = (new TemplatedEmail()) ->from(new Address('contacto@alameda.ar', 'Iglesia de La Alameda')) ->to(new Address($espera->getEmail(), $espera->getNombre())) @@ -101,7 +80,7 @@ public function sendAvisoLugarMessage(Celebracion $celebracion): bool ->context([ // You can pass whatever data you want 'espera' => $espera, - 'celebracion' => $celebracion + 'celebracion' => $celebracion, ]); $this->mailer->send($email); diff --git a/src/Service/ObtenerDatosHelper.php b/src/Service/ObtenerDatosHelper.php index c9623abc..76465858 100755 --- a/src/Service/ObtenerDatosHelper.php +++ b/src/Service/ObtenerDatosHelper.php @@ -6,15 +6,11 @@ class ObtenerDatosHelper { - private $requestStack; - /** * ObtenerDatosHelper constructor. - * @param RequestStack $requestStack */ - public function __construct(RequestStack $requestStack) + public function __construct(private readonly RequestStack $requestStack) { - $this->requestStack = $requestStack; } public function getIpCliente(): string @@ -33,10 +29,10 @@ public function getIpCliente(): string // una dirección ip que no sea del rango privado. En caso de no // encontrarse ninguna se toma como valor el REMOTE_ADDR - $entries = preg_split('/[, ]/', $_SERVER['HTTP_X_FORWARDED_FOR']); + $entries = preg_split('/[, ]/', (string) $_SERVER['HTTP_X_FORWARDED_FOR']); reset($entries); - while (list(, $entry) = each($entries)) { + foreach ($entries as $entry) { $entry = trim($entry); if (preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", $entry, $ip_list)) { // http://www.faqs.org/rfcs/rfc1918.html @@ -47,7 +43,7 @@ public function getIpCliente(): string '/^172\.((1[6-9])|(2[0-9])|(3[0-1]))\..*/', '/^10\..*/', ]; - $found_ip = preg_replace($private_ip, $client_ip, $ip_list[1]); + $found_ip = preg_replace($private_ip, (string) $client_ip, $ip_list[1]); if ($client_ip != $found_ip) { $client_ip = $found_ip; diff --git a/src/Service/UploaderHelper.php b/src/Service/UploaderHelper.php index 9eee985f..9904d503 100755 --- a/src/Service/UploaderHelper.php +++ b/src/Service/UploaderHelper.php @@ -2,67 +2,44 @@ namespace App\Service; -use Exception; use Gedmo\Sluggable\Util\Urlizer; use League\Flysystem\FileNotFoundException; -use League\Flysystem\FilesystemInterface; -use phpDocumentor\Reflection\Types\This; -use Symfony\Component\HttpFoundation\File\File; +use League\Flysystem\Filesystem; +use Psr\Log\LoggerInterface; use Symfony\Component\Asset\Context\RequestStackContext; +use Symfony\Component\HttpFoundation\File\File; use Symfony\Component\HttpFoundation\File\UploadedFile; -use Psr\Log\LoggerInterface; class UploaderHelper { - const IMAGE_ENTRADA = 'image_entrada'; - const ENTRADA_REFERENCE = 'entrada_reference'; - - private $context; - private $filesystem; - private $uploadedAssetsBaseUrl; - private $privateFilesystem; - private $logger; + final public const IMAGE_ENTRADA = 'image_entrada'; + final public const ENTRADA_REFERENCE = 'entrada_reference'; /** * UploaderHelper constructor. - * @param FilesystemInterface $publicUploadsFilesystem - * @param RequestStackContext $context - * @param string $uploadedAssetsBaseUrl - * @param FilesystemInterface $privateUploadsFilesystem - * @param LoggerInterface $logger */ - public function __construct( - FilesystemInterface $publicUploadsFilesystem, - RequestStackContext $context, - string $uploadedAssetsBaseUrl, - FilesystemInterface $privateUploadsFilesystem, - LoggerInterface $logger - ) + public function __construct(private readonly Filesystem $filesystem, private readonly RequestStackContext $context, + private readonly string $uploadedAssetsBaseUrl, private readonly Filesystem $privateFilesystem, + private readonly LoggerInterface $logger) { - $this->context = $context; - $this->filesystem = $publicUploadsFilesystem; - $this->uploadedAssetsBaseUrl = $uploadedAssetsBaseUrl; - $this->privateFilesystem = $privateUploadsFilesystem; - $this->logger = $logger; } - public function uploadEntradaImage(File $file, ?string $existingFilename ): string + public function uploadEntradaImage(File $file, ?string $existingFilename): string { - $newFilename = $this->uploadFile($file, self::IMAGE_ENTRADA, true); if ($existingFilename) { try { - $result = $this->filesystem->delete(self::IMAGE_ENTRADA.'/'.$existingFilename); - if ($result === false) { - throw new Exception(sprintf('No se pudo borrar la imagen anterior "%s"', $existingFilename)); + $result = $this->filesystem->delete(self::IMAGE_ENTRADA . '/' . $existingFilename); + if (false === $result) { + throw new \Exception(sprintf('No se pudo borrar la imagen anterior "%s"', $existingFilename)); } - } catch (FileNotFoundException $e) { + } catch (FileNotFoundException) { $this->logger->alert(sprintf('No se pudo borrar "%s" imagen perdida', $existingFilename)); } } - return $newFilename; + return $newFilename; } public function uploadEntradaReference(File $file): string @@ -74,7 +51,7 @@ public function getPublicPath(string $path): string { // needed if you deploy under a subdirectory return $this->context - ->getBasePath().$this->uploadedAssetsBaseUrl.'/'.$path; + ->getBasePath() . $this->uploadedAssetsBaseUrl . '/' . $path; } private function uploadFile(File $file, string $directory, bool $isPublic) @@ -84,19 +61,24 @@ private function uploadFile(File $file, string $directory, bool $isPublic) } else { $originalFilename = $file->getFilename(); } - $newFilename = Urlizer::urlize(pathinfo($originalFilename, PATHINFO_FILENAME)).'-'.uniqid().'.'.$file->guessExtension(); + + $newFilename = Urlizer::urlize(pathinfo($originalFilename, PATHINFO_FILENAME)) . '-' . uniqid() . '.' . $file->guessExtension(); + $filesystem = $isPublic ? $this->filesystem : $this->privateFilesystem; + + $stream = fopen($file->getPathname(), 'r'); $result = $filesystem->writeStream( - $directory.'/'.$newFilename, + $directory . '/' . $newFilename, $stream ); - if ($result === false) { - throw new Exception(sprintf('No se pudo escribir el archivo cargado "%s"', $newFilename)); + if (false === $result) { + throw new \Exception(sprintf('No se pudo escribir el archivo cargado "%s"', $newFilename)); } if (is_resource($stream)) { fclose($stream); } + return $newFilename; } @@ -105,21 +87,19 @@ public function readStream(string $path, bool $isPublic) $filesystem = $isPublic ? $this->filesystem : $this->privateFilesystem; $resource = $filesystem->readStream($path); - if ($resource === false) { + if (false === $resource) { throw new \Exception(sprintf('Error al abrir secuencia para "%s"', $path)); } - return $resource; + return $resource; } - public function deleteFile(string $path, bool $isPublic) { $filesystem = $isPublic ? $this->filesystem : $this->privateFilesystem; $result = $filesystem->delete($path); - if ($result === false) { + if (false === $result) { throw new \Exception(sprintf('Error borrando "%s"', $path)); } } - } diff --git a/src/Twig/BaseExtension.php b/src/Twig/BaseExtension.php index b95fb3ad..6b665300 100755 --- a/src/Twig/BaseExtension.php +++ b/src/Twig/BaseExtension.php @@ -8,7 +8,6 @@ use App\Entity\NewsSite; use App\Service\UploaderHelper; use Doctrine\ORM\EntityManagerInterface; -use InvalidArgumentException; use Psr\Container\ContainerInterface; use Symfony\Contracts\Service\ServiceSubscriberInterface; use Twig\Extension\AbstractExtension; @@ -18,19 +17,17 @@ class BaseExtension extends AbstractExtension implements ServiceSubscriberInterface { protected $em; - private $container; - protected $ind_inicio = "{{"; - protected $ind_final = "}}"; + + protected $ind_inicio = '{{'; + + protected $ind_final = '}}'; /** * BaseExtension constructor. - * @param EntityManagerInterface $em - * @param ContainerInterface $container */ - public function __construct(EntityManagerInterface $em, ContainerInterface $container) + public function __construct(EntityManagerInterface $em, private readonly ContainerInterface $container) { $this->em = $em; - $this->container = $container; } public function getFilters(): array @@ -46,17 +43,17 @@ public function getFilters(): array public function getFunctions(): array { return [ - new TwigFunction('base_lema', [$this, 'lema']), - new TwigFunction('base_metaDescripcion', [$this, 'metaDescripcion']), - new TwigFunction('base_base', [$this, 'base']), - new TwigFunction('uploaded_asset', [$this, 'getUploadedAssetPath']), - new TwigFunction('capacidad_restante', [$this, 'capacidad_restante']), - new TwigFunction('capacidad_ocupada', [$this, 'capacidad_ocupada']), - new TwigFunction('redirection', [$this, 'redirection']), - new TwigFunction('completa_texto', [$this, 'completa_texto']), - new TwigFunction('completa_lugar', [$this, 'completa_lugar']), - new TwigFunction('form_suscripto_newsletter', [$this, 'form_suscripto_newsletter']), - new TwigFunction('booleano', [$this, 'booleano']), + new TwigFunction('base_lema', $this->lema(...)), + new TwigFunction('base_metaDescripcion', $this->metaDescripcion(...)), + new TwigFunction('base_base', $this->base(...)), + new TwigFunction('uploaded_asset', $this->getUploadedAssetPath(...)), + new TwigFunction('capacidad_restante', $this->capacidad_restante(...)), + new TwigFunction('capacidad_ocupada', $this->capacidad_ocupada(...)), + new TwigFunction('redirection', $this->redirection(...)), + new TwigFunction('completa_texto', $this->completa_texto(...)), + new TwigFunction('completa_lugar', $this->completa_lugar(...)), + new TwigFunction('form_suscripto_newsletter', $this->form_suscripto_newsletter(...)), + new TwigFunction('booleano', $this->booleano(...)), ]; } @@ -81,7 +78,6 @@ public function base() return $this->container->get(EntityManagerInterface::class)->getRepository(MetaBase::class)->findOneBy(['base' => 'index']); } - public function getUploadedAssetPath(string $path): string { return $this->container @@ -92,6 +88,7 @@ public function getUploadedAssetPath(string $path): string public function capacidad_restante(string $celebracion, int $cantidad): int { $invitados = $this->container->get(EntityManagerInterface::class)->getRepository(Invitado::class)->countByCelebracion($celebracion); + return $cantidad - $invitados; } @@ -111,45 +108,40 @@ public static function getSubscribedServices(): array public function redirection(string $link) { if ('' === ($link ?? '')) { - throw new InvalidArgumentException('No se puede redireccionar a una URL vacía.'); + throw new \InvalidArgumentException('No se puede redireccionar a una URL vacía.'); } echo ""; - } public function completa_texto(string $campo) { - $encontro = false; $i = 0; do { + $inicio = strpos($campo, (string) $this->ind_inicio); - $inicio = strpos($campo, $this->ind_inicio); - - if ($inicio !== false) { - $fin = strpos($campo, $this->ind_final); + if (false !== $inicio) { + $fin = strpos($campo, (string) $this->ind_final); $servicio = substr($campo, - ($inicio + strlen($this->ind_inicio)), - $fin - ($inicio + strlen($this->ind_inicio))); - $campo = str_replace($this->ind_inicio . $servicio . $this->ind_final, + $inicio + strlen((string) $this->ind_inicio), + $fin - ($inicio + strlen((string) $this->ind_inicio))); + $campo = str_replace($this->ind_inicio.$servicio.$this->ind_final, $this->addTexto(trim($servicio)), $campo); $encontro = true; } else { $encontro = false; } - } while ($encontro && $i < 10); - return $campo; + return $campo; } public function completa_lugar(string $lugar): string { return $this->addTexto(trim($lugar)); - } private function addTexto($valor): string @@ -164,13 +156,11 @@ private function addTexto($valor): string } /** - * @param string $type - * @param string $fuente * @return array|string|void */ - public function form_suscripto_newsletter(string $type,string $fuente) + public function form_suscripto_newsletter(string $type, string $fuente) { - switch ($type){ + switch ($type) { case 'script': return $this->divScript($fuente); case 'iframe': @@ -178,44 +168,31 @@ public function form_suscripto_newsletter(string $type,string $fuente) } } - /** - * @param string $fuente - * @return string - */ protected function divScript(string $fuente): string { $crea_formulario = $this->container->get(EntityManagerInterface::class) ->getRepository(NewsSite::class) - ->findBy(['srcType' =>'script', 'srcSite' => $fuente]); + ->findBy(['srcType' => 'script', 'srcSite' => $fuente]); return $crea_formulario[0]->getSrcCodigo(); } - /** - * @param string $fuente - * @return array - */ protected function divIframe(string $fuente): array { $crea_formulario = $this->container->get(EntityManagerInterface::class) ->getRepository(NewsSite::class) - ->findBy(['srcType' =>'iframe', 'srcSite' => $fuente]); + ->findBy(['srcType' => 'iframe', 'srcSite' => $fuente]); - return [$crea_formulario[0]->getSrcCodigo(),$crea_formulario[0]->getSrcParameters()]; + return [$crea_formulario[0]->getSrcCodigo(), $crea_formulario[0]->getSrcParameters()]; } - /** - * @param $data - * @return string - */ public function booleano($data): string { $icono = ' '; - if ($data === true) { + if (true === $data) { $icono = ' '; } + return $icono; } - - } diff --git a/src/Utils/Validator.php b/src/Utils/Validator.php index 982c8c0f..4552235c 100644 --- a/src/Utils/Validator.php +++ b/src/Utils/Validator.php @@ -12,6 +12,7 @@ namespace App\Utils; use Symfony\Component\Console\Exception\InvalidArgumentException; + use function Symfony\Component\String\u; /** diff --git a/src/Validator/UniqueUserValidator.php b/src/Validator/UniqueUserValidator.php index 3abd985c..32b13fdb 100644 --- a/src/Validator/UniqueUserValidator.php +++ b/src/Validator/UniqueUserValidator.php @@ -8,33 +8,26 @@ class UniqueUserValidator extends ConstraintValidator { - - private UserRepository $userRepository; - /** * UniqueUserValidator constructor. - * @param UserRepository $userRepository */ - public function __construct(UserRepository $userRepository) + public function __construct(private readonly UserRepository $userRepository) { - $this->userRepository = $userRepository; } public function validate($value, Constraint $constraint) { /* @var $constraint UniqueUser */ - if (null === $value || '' === $value ) { + if (null === $value || '' === $value) { return; } - $exiteUser = $this->userRepository->findOneBy(['email'=>$value]); + $exiteUser = $this->userRepository->findOneBy(['email' => $value]); - if (!$exiteUser ) { + if (!$exiteUser) { return; } - - // TODO: implement the validation here $this->context->buildViolation($constraint->message) ->setParameter('{{ value }}', $value) diff --git a/symfony.lock b/symfony.lock index f50f85a5..e1eb55c0 100755 --- a/symfony.lock +++ b/symfony.lock @@ -27,9 +27,9 @@ "version": "6.7", "recipe": { "repo": "github.com/symfony/recipes-contrib", - "branch": "master", + "branch": "main", "version": "4.0", - "ref": "56eaa387b5e48ebcc7c95a893b47dfa1ad51449c" + "ref": "2c920f73a217f30bd4a37833c91071f4d3dc1ecd" }, "files": [ "config/packages/test/dama_doctrine_test_bundle.yaml" @@ -39,16 +39,14 @@ "version": "1.0.3" }, "doctrine/annotations": { - "version": "1.0", + "version": "1.14", "recipe": { "repo": "github.com/symfony/recipes", - "branch": "master", - "version": "1.0", - "ref": "a2759dd6123694c8d901d0ec80006e044c2e6457" + "branch": "main", + "version": "1.10", + "ref": "64d8583af5ea57b7afa4aba4b159907f3a148b05" }, - "files": [ - "config/routes/annotations.yaml" - ] + "files": [] }, "doctrine/cache": { "version": "1.10.1" @@ -69,39 +67,38 @@ "version": "v0.5.3" }, "doctrine/doctrine-bundle": { - "version": "2.0", + "version": "2.11", "recipe": { "repo": "github.com/symfony/recipes", - "branch": "master", - "version": "2.0", - "ref": "a9f2463b9f73efe74482f831f03a204a41328555" + "branch": "main", + "version": "2.10", + "ref": "310a02a22033e35640468f48ff6bf31a25891537" }, "files": [ "config/packages/doctrine.yaml", - "config/packages/prod/doctrine.yaml", "src/Entity/.gitignore", "src/Repository/.gitignore" ] }, "doctrine/doctrine-fixtures-bundle": { - "version": "3.0", + "version": "3.5", "recipe": { "repo": "github.com/symfony/recipes", - "branch": "master", + "branch": "main", "version": "3.0", - "ref": "fc52d86631a6dfd9fdf3381d0b7e3df2069e51b3" + "ref": "1f5514cfa15b947298df4d771e694e578d4c204d" }, "files": [ "src/DataFixtures/AppFixtures.php" ] }, "doctrine/doctrine-migrations-bundle": { - "version": "2.2", + "version": "3.3", "recipe": { "repo": "github.com/symfony/recipes", - "branch": "master", - "version": "2.2", - "ref": "baaa439e3e3179e69e3da84b671f0a3e4a2f56ad" + "branch": "main", + "version": "3.1", + "ref": "1d01ec03c6ecbd67c3375c5478c9a423ae5d6a33" }, "files": [ "config/packages/doctrine_migrations.yaml", @@ -150,24 +147,18 @@ "ezyang/htmlpurifier": { "version": "v4.13.0" }, - "friendsofphp/proxy-manager-lts": { - "version": "v1.0.0" - }, "friendsofsymfony/ckeditor-bundle": { - "version": "2.0", + "version": "2.4", "recipe": { "repo": "github.com/symfony/recipes-contrib", - "branch": "master", + "branch": "main", "version": "2.0", - "ref": "8eb1cd0962ded6a6d6e1e5a9b6d3e888f9f94ff6" + "ref": "f5ad42002183a6881962683e6d84bbb25cdfce5d" }, "files": [ "config/packages/fos_ckeditor.yaml" ] }, - "fzaninotto/faker": { - "version": "v1.9.1" - }, "gedmo/doctrine-extensions": { "version": "v2.4.41" }, @@ -180,9 +171,6 @@ "knplabs/knp-components": { "version": "v2.3.6" }, - "knplabs/knp-markdown-bundle": { - "version": "1.8.1" - }, "knplabs/knp-paginator-bundle": { "version": "v5.2.0" }, @@ -204,16 +192,13 @@ "league/mime-type-detection": { "version": "1.4.0" }, - "league/uri-parser": { - "version": "1.4.1" - }, "liip/imagine-bundle": { - "version": "1.8", + "version": "2.12", "recipe": { "repo": "github.com/symfony/recipes-contrib", - "branch": "master", + "branch": "main", "version": "1.8", - "ref": "1d42bc3f713130582e6e0c475c49bc327ab0a2a2" + "ref": "d1227d002b70d1a1f941d91845fcd7ac7fbfc929" }, "files": [ "config/packages/liip_imagine.yaml", @@ -232,28 +217,22 @@ "masterminds/html5": { "version": "2.7.5" }, - "michelf/php-markdown": { - "version": "1.9.0" - }, "monolog/monolog": { "version": "1.25.4" }, "myclabs/deep-copy": { "version": "1.11.0" }, - "myclabs/php-enum": { - "version": "1.7.7" - }, "nikic/php-parser": { "version": "v4.5.0" }, "oneup/flysystem-bundle": { - "version": "3.0", + "version": "4.11", "recipe": { "repo": "github.com/symfony/recipes-contrib", - "branch": "master", - "version": "3.0", - "ref": "0eb87bba411c227da027fe5f7c1dc7954b02f242" + "branch": "main", + "version": "4.0", + "ref": "3ae1b83985e89138f5443bbc2d9b8c074b497d49" }, "files": [ "config/packages/oneup_flysystem.yaml" @@ -277,6 +256,18 @@ "phpoffice/phpspreadsheet": { "version": "1.0.0" }, + "phpstan/phpstan": { + "version": "1.10", + "recipe": { + "repo": "github.com/symfony/recipes-contrib", + "branch": "main", + "version": "1.0", + "ref": "5e490cc197fb6bb1ae22e5abbc531ddc633b6767" + }, + "files": [ + "phpstan.dist.neon" + ] + }, "phpunit/php-code-coverage": { "version": "9.2.15" }, @@ -293,12 +284,12 @@ "version": "5.0.3" }, "phpunit/phpunit": { - "version": "9.5", + "version": "9.6", "recipe": { "repo": "github.com/symfony/recipes", "branch": "main", - "version": "9.3", - "ref": "a6249a6c4392e9169b87abf93225f7f9f59025e6" + "version": "9.6", + "ref": "7364a21d87e658eb363c5020c072ecfdc12e2326" }, "files": [ ".env.test", @@ -396,18 +387,6 @@ "sebastian/version": { "version": "3.0.2" }, - "sensio/framework-extra-bundle": { - "version": "5.2", - "recipe": { - "repo": "github.com/symfony/recipes", - "branch": "master", - "version": "5.2", - "ref": "fb7e19da7f013d0d422fa9bce16f5c510e27609b" - }, - "files": [ - "config/packages/sensio_framework_extra.yaml" - ] - }, "sensiolabs/security-checker": { "version": "4.0", "recipe": { @@ -420,13 +399,25 @@ "config/packages/security_checker.yaml" ] }, + "stof/doctrine-extensions-bundle": { + "version": "1.10", + "recipe": { + "repo": "github.com/symfony/recipes-contrib", + "branch": "main", + "version": "1.2", + "ref": "e805aba9eff5372e2d149a9ff56566769e22819d" + }, + "files": [ + "config/packages/stof_doctrine_extensions.yaml" + ] + }, "symfony/apache-pack": { "version": "1.0", "recipe": { "repo": "github.com/symfony/recipes-contrib", - "branch": "master", + "branch": "main", "version": "1.0", - "ref": "71599f5b0fdeeeec0fb90e9b17c85e6f5e1350c1" + "ref": "0f18b4decdf5695d692c1d0dfd65516a07a6adf1" }, "files": [ "public/.htaccess" @@ -448,31 +439,30 @@ "version": "v4.4.10" }, "symfony/console": { - "version": "4.4", + "version": "5.4", "recipe": { "repo": "github.com/symfony/recipes", - "branch": "master", - "version": "4.4", - "ref": "ea8c0eda34fda57e7d5cd8cbd889e2a387e3472c" + "branch": "main", + "version": "5.3", + "ref": "da0c8be8157600ad34f10ff0c9cc91232522e047" }, "files": [ - "bin/console", - "config/bootstrap.php" + "bin/console" ] }, "symfony/css-selector": { "version": "v4.4.16" }, "symfony/debug-bundle": { - "version": "4.1", + "version": "5.4", "recipe": { "repo": "github.com/symfony/recipes", - "branch": "master", - "version": "4.1", - "ref": "f8863cbad2f2e58c4b65fa1eac892ab189971bea" + "branch": "main", + "version": "5.3", + "ref": "5aa8aa48234c8eb6dbdd7b3cd5d791485d2cec4b" }, "files": [ - "config/packages/dev/debug.yaml" + "config/packages/debug.yaml" ] }, "symfony/dependency-injection": { @@ -509,12 +499,12 @@ "version": "v4.4.10" }, "symfony/flex": { - "version": "1.0", + "version": "1.21", "recipe": { "repo": "github.com/symfony/recipes", - "branch": "master", + "branch": "main", "version": "1.0", - "ref": "c0eeb50665f0f77226616b6038a9b06c03752d8e" + "ref": "146251ae39e06a95be0fe3d13c807bcf3938b172" }, "files": [ ".env" @@ -524,12 +514,12 @@ "version": "v4.4.10" }, "symfony/framework-bundle": { - "version": "5.4", + "version": "6.4", "recipe": { "repo": "github.com/symfony/recipes", - "branch": "master", - "version": "5.4", - "ref": "3cd216a4d007b78d8554d44a5b1c0a446dab24fb" + "branch": "main", + "version": "6.4", + "ref": "a91c965766ad3ff2ae15981801643330eb42b6a5" }, "files": [ "config/packages/cache.yaml", @@ -558,12 +548,12 @@ "version": "v4.4.10" }, "symfony/mailer": { - "version": "4.3", + "version": "6.4", "recipe": { "repo": "github.com/symfony/recipes", - "branch": "master", + "branch": "main", "version": "4.3", - "ref": "15658c2a0176cda2e7dba66276a2030b52bd81b2" + "ref": "df66ee1f226c46f01e85c29c2f7acce0596ba35a" }, "files": [ "config/packages/mailer.yaml" @@ -585,18 +575,15 @@ "version": "v4.4.10" }, "symfony/monolog-bundle": { - "version": "3.3", + "version": "3.10", "recipe": { "repo": "github.com/symfony/recipes", - "branch": "master", - "version": "3.3", - "ref": "d7249f7d560f6736115eee1851d02a65826f0a56" + "branch": "main", + "version": "3.7", + "ref": "aff23899c4440dd995907613c1dd709b6f59503f" }, "files": [ - "config/packages/dev/monolog.yaml", - "config/packages/prod/deprecations.yaml", - "config/packages/prod/monolog.yaml", - "config/packages/test/monolog.yaml" + "config/packages/monolog.yaml" ] }, "symfony/options-resolver": { @@ -606,12 +593,12 @@ "version": "v5.4.2" }, "symfony/phpunit-bridge": { - "version": "5.4", + "version": "6.4", "recipe": { "repo": "github.com/symfony/recipes", - "branch": "master", - "version": "5.3", - "ref": "97cb3dc7b0f39c7cfc4b7553504c9d7b7795de96" + "branch": "main", + "version": "6.3", + "ref": "a411a0480041243d97382cac7984f7dce7813c08" }, "files": [ ".env.test", @@ -641,15 +628,9 @@ "symfony/polyfill-php72": { "version": "v1.17.0" }, - "symfony/polyfill-php73": { - "version": "v1.17.0" - }, "symfony/polyfill-php80": { "version": "v1.17.0" }, - "symfony/polyfill-php81": { - "version": "v1.23.0" - }, "symfony/process": { "version": "v4.4.10" }, @@ -660,15 +641,14 @@ "version": "v4.4.10" }, "symfony/routing": { - "version": "4.2", + "version": "6.4", "recipe": { "repo": "github.com/symfony/recipes", - "branch": "master", - "version": "4.2", - "ref": "683dcb08707ba8d41b7e34adb0344bfd68d248a7" + "branch": "main", + "version": "6.2", + "ref": "e0a11b4ccb8c9e70b574ff5ad3dfdcd41dec5aa6" }, "files": [ - "config/packages/prod/routing.yaml", "config/packages/routing.yaml", "config/routes.yaml" ] @@ -677,15 +657,16 @@ "version": "v5.4.1" }, "symfony/security-bundle": { - "version": "4.4", + "version": "6.4", "recipe": { "repo": "github.com/symfony/recipes", - "branch": "master", - "version": "4.4", - "ref": "7b4408dc203049666fe23fabed23cbadc6d8440f" + "branch": "main", + "version": "6.4", + "ref": "2ae08430db28c8eb4476605894296c82a642028f" }, "files": [ - "config/packages/security.yaml" + "config/packages/security.yaml", + "config/routes/security.yaml" ] }, "symfony/security-core": { @@ -706,6 +687,15 @@ "symfony/service-contracts": { "version": "v2.1.2" }, + "symfony/stimulus-bundle": { + "version": "2.13", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "main", + "version": "2.8", + "ref": "9e33a8a3794b603fb4be6c04ee5ecab901ce549e" + } + }, "symfony/stopwatch": { "version": "v4.4.10" }, @@ -713,12 +703,12 @@ "version": "v5.1.2" }, "symfony/translation": { - "version": "3.3", + "version": "6.4", "recipe": { "repo": "github.com/symfony/recipes", - "branch": "master", - "version": "3.3", - "ref": "2ad9d2545bce8ca1a863e50e92141f0b9d87ffcd" + "branch": "main", + "version": "6.3", + "ref": "e28e27f53663cc34f0be2837aba18e3a1bef8e7b" }, "files": [ "config/packages/translation.yaml", @@ -732,15 +722,14 @@ "version": "v4.4.10" }, "symfony/twig-bundle": { - "version": "4.4", + "version": "6.4", "recipe": { "repo": "github.com/symfony/recipes", - "branch": "master", - "version": "4.4", - "ref": "15a41bbd66a1323d09824a189b485c126bbefa51" + "branch": "main", + "version": "6.4", + "ref": "cab5fd2a13a45c266d45a7d9337e28dee6272877" }, "files": [ - "config/packages/test/twig.yaml", "config/packages/twig.yaml", "templates/base.html.twig" ] @@ -749,15 +738,14 @@ "version": "v2.1.1" }, "symfony/validator": { - "version": "4.3", + "version": "5.4", "recipe": { "repo": "github.com/symfony/recipes", - "branch": "master", - "version": "4.3", - "ref": "d902da3e4952f18d3bf05aab29512eb61cabd869" + "branch": "main", + "version": "5.3", + "ref": "c32cfd98f714894c4f128bb99aa2530c1227603c" }, "files": [ - "config/packages/test/validator.yaml", "config/packages/validator.yaml" ] }, @@ -768,33 +756,32 @@ "version": "v4.4.10" }, "symfony/web-profiler-bundle": { - "version": "3.3", + "version": "6.1", "recipe": { "repo": "github.com/symfony/recipes", - "branch": "master", - "version": "3.3", - "ref": "6bdfa1a95f6b2e677ab985cd1af2eae35d62e0f6" + "branch": "main", + "version": "6.1", + "ref": "e42b3f0177df239add25373083a564e5ead4e13a" }, "files": [ - "config/packages/dev/web_profiler.yaml", - "config/packages/test/web_profiler.yaml", - "config/routes/dev/web_profiler.yaml" + "config/packages/web_profiler.yaml", + "config/routes/web_profiler.yaml" ] }, "symfony/webpack-encore-bundle": { - "version": "1.6", + "version": "1.17", "recipe": { "repo": "github.com/symfony/recipes", - "branch": "master", - "version": "1.6", - "ref": "69e1d805ad95964088bd510c05995e87dc391564" + "branch": "main", + "version": "1.10", + "ref": "eff2e505d4557c967b6710fe06bd947ba555cae5" }, "files": [ - "assets/css/app.css", - "assets/js/app.js", - "config/packages/assets.yaml", - "config/packages/prod/webpack_encore.yaml", - "config/packages/test/webpack_encore.yaml", + "assets/app.js", + "assets/bootstrap.js", + "assets/controllers.json", + "assets/controllers/hello_controller.js", + "assets/styles/app.css", "config/packages/webpack_encore.yaml", "package.json", "webpack.config.js" @@ -815,21 +802,6 @@ "config/packages/reset_password.yaml" ] }, - "tgalopin/html-sanitizer": { - "version": "1.5.0" - }, - "tgalopin/html-sanitizer-bundle": { - "version": "1.4", - "recipe": { - "repo": "github.com/symfony/recipes-contrib", - "branch": "master", - "version": "1.0", - "ref": "95b935177db9abb65356fe19e57fe5abd908b5b8" - }, - "files": [ - "config/packages/html_sanitizer.yaml" - ] - }, "theseer/tokenizer": { "version": "1.2.1" }, diff --git a/templates/base.html.twig b/templates/base.html.twig index 682ef43c..71019d75 100755 --- a/templates/base.html.twig +++ b/templates/base.html.twig @@ -91,7 +91,7 @@ {{ message }} {% endfor %} -{% if is_granted('ROLE_PREVIOUS_ADMIN') %} +{% if is_granted('IS_IMPERSONATOR') %}
Temporalmente Salir modo diff --git a/templates/base_coreui.html.twig b/templates/base_coreui.html.twig index 63bc55fc..efd2f666 100644 --- a/templates/base_coreui.html.twig +++ b/templates/base_coreui.html.twig @@ -456,7 +456,7 @@ {{ message }}
{% endfor %} - {% if is_granted('ROLE_PREVIOUS_ADMIN') %} + {% if is_granted('IS_IMPERSONATOR') %}
Temporalmente Salir modo diff --git a/templates/base_material_kit.twig b/templates/base_material_kit.twig index b28b4910..3dd152e4 100644 --- a/templates/base_material_kit.twig +++ b/templates/base_material_kit.twig @@ -83,7 +83,7 @@ {{ message }}
{% endfor %} -{% if is_granted('ROLE_PREVIOUS_ADMIN') %} +{% if is_granted('IS_IMPERSONATOR') %}
Temporalmente Salir modo diff --git a/templates/base_tailwind.html.twig b/templates/base_tailwind.html.twig index 9625e554..aff28f94 100644 --- a/templates/base_tailwind.html.twig +++ b/templates/base_tailwind.html.twig @@ -80,7 +80,7 @@ {{ message }}
{% endfor %} -{% if is_granted('ROLE_PREVIOUS_ADMIN') %} +{% if is_granted('IS_IMPERSONATOR') %}
Temporalemte Salir modo diff --git a/templates/inicio/_menu.html.twig b/templates/inicio/_menu.html.twig index f0ac87e6..11304726 100644 --- a/templates/inicio/_menu.html.twig +++ b/templates/inicio/_menu.html.twig @@ -70,7 +70,7 @@ {#
#} - {% if is_granted('ROLE_PREVIOUS_ADMIN') %} + {% if is_granted('IS_IMPERSONATOR') %}
Temporalmente Salir modo diff --git a/templates/meta_base/metabase.html.twig b/templates/meta_base/metabase.html.twig index d99d291b..5bfc036c 100755 --- a/templates/meta_base/metabase.html.twig +++ b/templates/meta_base/metabase.html.twig @@ -189,7 +189,7 @@ {% endif %} - {% if is_granted('ROLE_PREVIOUS_ADMIN') %} + {% if is_granted('IS_IMPERSONATOR') %}
Temporalemte Salir modo @@ -203,7 +203,7 @@ {% endblock %} - {% if is_granted('ROLE_PREVIOUS_ADMIN') %} + {% if is_granted('IS_IMPERSONATOR') %}
Temporalemte Salir modo diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 469dccee..47a58557 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -4,8 +4,10 @@ require dirname(__DIR__).'/vendor/autoload.php'; -if (file_exists(dirname(__DIR__).'/config/bootstrap.php')) { - require dirname(__DIR__).'/config/bootstrap.php'; -} elseif (method_exists(Dotenv::class, 'bootEnv')) { +if (method_exists(Dotenv::class, 'bootEnv')) { (new Dotenv())->bootEnv(dirname(__DIR__).'/.env'); } + +if ($_SERVER['APP_DEBUG']) { + umask(0000); +} diff --git a/webpack.config.js b/webpack.config.js index 823b3a15..33b7d56f 100755 --- a/webpack.config.js +++ b/webpack.config.js @@ -14,19 +14,16 @@ Encore .setOutputPath('public/build/') // public path used by the web server to access the output path .setPublicPath('/build') - // only needed for CDN's or sub-directory deploy + // only needed for CDN's or subdirectory deploy //.setManifestKeyPrefix('build/') /* * ENTRY CONFIG * - * Add 1 entry for each "page" of your app - * (including one that's included on every page - e.g. "app") - * * Each entry will result in one JavaScript file (e.g. app.js) * and one CSS file (e.g. app.css) if your JavaScript imports CSS. */ - .addEntry('app', './assets/js/app.js') + .addEntry('app', './assets/app.js') .addEntry('login', './assets/js/login.js') .addEntry('perfil', './assets/js/perfil.js') .addEntry('section_select', './assets/js/select_section.js') @@ -59,11 +56,15 @@ Encore // enables hashed filenames (e.g. app.abc123.css) .enableVersioning(Encore.isProduction()) - // enables @babel/preset-env polyfills - .configureBabel(() => { - }, { - useBuiltIns: 'usage', - corejs: 3 + // configure Babel + // .configureBabel((config) => { + // config.plugins.push('@babel/a-babel-plugin'); + // }) + + // enables and configure @babel/preset-env polyfills + .configureBabelPresetEnv((config) => { + config.useBuiltIns = 'usage'; + config.corejs = '3.23'; }) // enables Sass/SCSS support @@ -81,6 +82,9 @@ Encore // uncomment if you use TypeScript //.enableTypeScriptLoader() + // uncomment if you use React + //.enableReactPreset() + // uncomment to get integrity="..." attributes on your script & link tags // requires WebpackEncoreBundle 1.4 or higher //.enableIntegrityHashes(Encore.isProduction()) diff --git a/yarn.lock b/yarn.lock index 95f0f7f1..2b35c615 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,160 +3,123 @@ "@ampproject/remapping@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== + version "2.2.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== dependencies: - "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" - integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== - dependencies: - "@babel/highlight" "^7.18.6" - -"@babel/code-frame@^7.22.13": - version "7.22.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" - integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" + integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== dependencies: - "@babel/highlight" "^7.22.13" + "@babel/highlight" "^7.23.4" chalk "^2.4.2" -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.0.tgz#c241dc454e5b5917e40d37e525e2f4530c399298" - integrity sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g== +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" + integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== -"@babel/core@^7.12.10", "@babel/core@^7.17.0": - version "7.21.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.3.tgz#cf1c877284a469da5d1ce1d1e53665253fae712e" - integrity sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw== +"@babel/core@^7.17.0": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.7.tgz#4d8016e06a14b5f92530a13ed0561730b5c6483f" + integrity sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.21.3" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-module-transforms" "^7.21.2" - "@babel/helpers" "^7.21.0" - "@babel/parser" "^7.21.3" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.3" - "@babel/types" "^7.21.3" - convert-source-map "^1.7.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.23.7" + "@babel/parser" "^7.23.6" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.7" + "@babel/types" "^7.23.6" + convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.0" + json5 "^2.2.3" + semver "^6.3.1" -"@babel/generator@^7.21.3": - version "7.21.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.3.tgz#232359d0874b392df04045d72ce2fd9bb5045fce" - integrity sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA== +"@babel/generator@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" + integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== dependencies: - "@babel/types" "^7.21.3" + "@babel/types" "^7.23.6" "@jridgewell/gen-mapping" "^0.3.2" "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" -"@babel/generator@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420" - integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== +"@babel/helper-annotate-as-pure@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" + integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== dependencies: - "@babel/types" "^7.23.0" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" + "@babel/types" "^7.22.5" -"@babel/helper-annotate-as-pure@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" - integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" + integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== dependencies: - "@babel/types" "^7.18.6" + "@babel/types" "^7.22.15" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb" - integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== +"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== dependencies: - "@babel/helper-explode-assignable-expression" "^7.18.6" - "@babel/types" "^7.18.9" + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" - integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== +"@babel/helper-create-class-features-plugin@^7.22.15": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.7.tgz#b2e6826e0e20d337143655198b79d58fdc9bd43d" + integrity sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g== dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" - lru-cache "^5.1.1" - semver "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.0.tgz#64f49ecb0020532f19b1d014b03bccaa1ab85fb9" - integrity sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.21.0" - "@babel/helper-member-expression-to-functions" "^7.21.0" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.20.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/helper-split-export-declaration" "^7.18.6" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.0.tgz#53ff78472e5ce10a52664272a239787107603ebb" - integrity sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" + integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" regexpu-core "^5.3.1" + semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.3.3": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" - integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== +"@babel/helper-define-polyfill-provider@^0.4.4": + version "0.4.4" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz#64df615451cb30e94b59a9696022cffac9a10088" + integrity sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA== dependencies: - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" debug "^4.1.1" lodash.debounce "^4.0.8" resolve "^1.14.2" - semver "^6.1.2" - -"@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== "@babel/helper-environment-visitor@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== -"@babel/helper-explode-assignable-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096" - integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0", "@babel/helper-function-name@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4" - integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg== - dependencies: - "@babel/template" "^7.20.7" - "@babel/types" "^7.21.0" - -"@babel/helper-function-name@^7.23.0": +"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== @@ -164,13 +127,6 @@ "@babel/template" "^7.22.15" "@babel/types" "^7.23.0" -"@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== - dependencies: - "@babel/types" "^7.18.6" - "@babel/helper-hoist-variables@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" @@ -178,88 +134,74 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-member-expression-to-functions@^7.20.7", "@babel/helper-member-expression-to-functions@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz#319c6a940431a133897148515877d2f3269c3ba5" - integrity sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q== +"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" + integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== dependencies: - "@babel/types" "^7.21.0" + "@babel/types" "^7.23.0" -"@babel/helper-module-imports@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.21.2": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2" - integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.20.2" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.19.1" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.2" - "@babel/types" "^7.21.2" - -"@babel/helper-optimise-call-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" - integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== +"@babel/helper-module-imports@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== dependencies: - "@babel/types" "^7.18.6" + "@babel/types" "^7.22.15" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" - integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== +"@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" -"@babel/helper-remap-async-to-generator@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" - integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== +"@babel/helper-optimise-call-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" + integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-wrap-function" "^7.18.9" - "@babel/types" "^7.18.9" + "@babel/types" "^7.22.5" -"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz#243ecd2724d2071532b2c8ad2f0f9f083bcae331" - integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + +"@babel/helper-remap-async-to-generator@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" + integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-member-expression-to-functions" "^7.20.7" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.7" - "@babel/types" "^7.20.7" + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-wrap-function" "^7.22.20" -"@babel/helper-simple-access@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" - integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== +"@babel/helper-replace-supers@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" + integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== dependencies: - "@babel/types" "^7.20.2" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-optimise-call-expression" "^7.22.5" -"@babel/helper-skip-transparent-expression-wrappers@^7.20.0": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684" - integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== dependencies: - "@babel/types" "^7.20.0" + "@babel/types" "^7.22.5" -"@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== +"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" + integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== dependencies: - "@babel/types" "^7.18.6" + "@babel/types" "^7.22.5" "@babel/helper-split-export-declaration@^7.22.6": version "7.22.6" @@ -268,222 +210,81 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-string-parser@^7.19.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" - integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== - -"@babel/helper-string-parser@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" - integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== - -"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" - integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== +"@babel/helper-string-parser@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== "@babel/helper-validator-identifier@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== -"@babel/helper-validator-option@^7.18.6": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180" - integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== - -"@babel/helper-wrap-function@^7.18.9": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz#75e2d84d499a0ab3b31c33bcfe59d6b8a45f62e3" - integrity sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q== - dependencies: - "@babel/helper-function-name" "^7.19.0" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.20.5" - "@babel/types" "^7.20.5" +"@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== -"@babel/helpers@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.0.tgz#9dd184fb5599862037917cdc9eecb84577dc4e7e" - integrity sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA== +"@babel/helper-wrap-function@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" + integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== dependencies: - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.0" - "@babel/types" "^7.21.0" + "@babel/helper-function-name" "^7.22.5" + "@babel/template" "^7.22.15" + "@babel/types" "^7.22.19" -"@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== +"@babel/helpers@^7.23.7": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.7.tgz#eb543c36f81da2873e47b76ee032343ac83bba60" + integrity sha512-6AMnjCoC8wjqBzDHkuqpa7jAKwvMo4dC+lr/TFBz+ucfulO1XMpDnwWPGBNwClOKZ8h6xn5N81W/R5OrcKtCbQ== dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" - js-tokens "^4.0.0" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.7" + "@babel/types" "^7.23.6" -"@babel/highlight@^7.22.13": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" - integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== +"@babel/highlight@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" + integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== dependencies: "@babel/helper-validator-identifier" "^7.22.20" chalk "^2.4.2" js-tokens "^4.0.0" -"@babel/parser@^7.20.7", "@babel/parser@^7.21.3": - version "7.21.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.3.tgz#1d285d67a19162ff9daa358d4cb41d50c06220b3" - integrity sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ== - -"@babel/parser@^7.22.15", "@babel/parser@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" - integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" - integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz#d9c85589258539a22a901033853101a6198d4ef1" - integrity sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/plugin-proposal-optional-chaining" "^7.20.7" - -"@babel/plugin-proposal-async-generator-functions@^7.20.1": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" - integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-remap-async-to-generator" "^7.18.9" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-class-properties@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" - integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-class-static-block@^7.18.6": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz#77bdd66fb7b605f3a61302d224bdfacf5547977d" - integrity sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.21.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-proposal-dynamic-import@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" - integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" - integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" - integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83" - integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" - integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" - integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.20.2": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" - integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.20.7" - -"@babel/plugin-proposal-optional-catch-binding@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" - integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" +"@babel/parser@^7.22.15", "@babel/parser@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" + integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ== -"@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.20.7": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" - integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a" + integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-proposal-private-methods@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" - integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d" + integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.23.3" -"@babel/plugin-proposal-private-property-in-object@^7.18.6": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz#19496bd9883dd83c23c7d7fc45dcd9ad02dfa1dc" - integrity sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw== +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.7": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz#516462a95d10a9618f197d39ad291a9b47ae1d7b" + integrity sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw== dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-create-class-features-plugin" "^7.21.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" - integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -506,7 +307,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": +"@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== @@ -520,12 +321,26 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-import-assertions@^7.20.0": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz#bb50e0d4bea0957235390641209394e87bdb9cc4" - integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ== +"@babel/plugin-syntax-import-assertions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc" + integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-attributes@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz#992aee922cf04512461d7dae3ff6951b90a2dc06" + integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-meta@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== dependencies: - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" @@ -590,289 +405,424 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-arrow-functions@^7.18.6": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz#bea332b0e8b2dab3dafe55a163d8227531ab0551" - integrity sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ== +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-async-to-generator@^7.18.6": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz#dfee18623c8cb31deb796aa3ca84dda9cea94354" - integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q== +"@babel/plugin-transform-arrow-functions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b" + integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-remap-async-to-generator" "^7.18.9" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-block-scoped-functions@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" - integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== +"@babel/plugin-transform-async-generator-functions@^7.23.7": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.7.tgz#3aa0b4f2fa3788b5226ef9346cf6d16ec61f99cd" + integrity sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" + "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-transform-block-scoping@^7.20.2": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz#e737b91037e5186ee16b76e7ae093358a5634f02" - integrity sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-classes@^7.20.2": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz#f469d0b07a4c5a7dbb21afad9e27e57b47031665" - integrity sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.21.0" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-replace-supers" "^7.20.7" - "@babel/helper-split-export-declaration" "^7.18.6" +"@babel/plugin-transform-async-to-generator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa" + integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== + dependencies: + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" + +"@babel/plugin-transform-block-scoped-functions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77" + integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-block-scoping@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5" + integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz#35c377db11ca92a785a718b6aa4e3ed1eb65dc48" + integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-static-block@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz#2a202c8787a8964dd11dfcedf994d36bfc844ab5" + integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-transform-classes@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.5.tgz#e7a75f815e0c534cc4c9a39c56636c84fc0d64f2" + integrity sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-split-export-declaration" "^7.22.6" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.18.9": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz#704cc2fd155d1c996551db8276d55b9d46e4d0aa" - integrity sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ== +"@babel/plugin-transform-computed-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474" + integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/template" "^7.20.7" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/template" "^7.22.15" -"@babel/plugin-transform-destructuring@^7.20.2": - version "7.21.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz#73b46d0fd11cd6ef57dea8a381b1215f4959d401" - integrity sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA== +"@babel/plugin-transform-destructuring@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311" + integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" - integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== +"@babel/plugin-transform-dotall-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50" + integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-duplicate-keys@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e" - integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== +"@babel/plugin-transform-duplicate-keys@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce" + integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-exponentiation-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" - integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== +"@babel/plugin-transform-dynamic-import@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz#c7629e7254011ac3630d47d7f34ddd40ca535143" + integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-transform-for-of@^7.18.8": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz#964108c9988de1a60b4be2354a7d7e245f36e86e" - integrity sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ== +"@babel/plugin-transform-exponentiation-operator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18" + integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-function-name@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" - integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== +"@babel/plugin-transform-export-namespace-from@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz#084c7b25e9a5c8271e987a08cf85807b80283191" + integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ== dependencies: - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-transform-literals@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" - integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== +"@babel/plugin-transform-for-of@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz#81c37e24171b37b370ba6aaffa7ac86bcb46f94e" + integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" -"@babel/plugin-transform-member-expression-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" - integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== +"@babel/plugin-transform-function-name@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc" + integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-modules-amd@^7.19.6": - version "7.20.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz#3daccca8e4cc309f03c3a0c4b41dc4b26f55214a" - integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g== +"@babel/plugin-transform-json-strings@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz#a871d9b6bd171976efad2e43e694c961ffa3714d" + integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg== dependencies: - "@babel/helper-module-transforms" "^7.20.11" - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-transform-modules-commonjs@^7.19.6": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz#6ff5070e71e3192ef2b7e39820a06fb78e3058e7" - integrity sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA== +"@babel/plugin-transform-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4" + integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== dependencies: - "@babel/helper-module-transforms" "^7.21.2" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-simple-access" "^7.20.2" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-modules-systemjs@^7.19.6": - version "7.20.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz#467ec6bba6b6a50634eea61c9c232654d8a4696e" - integrity sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw== +"@babel/plugin-transform-logical-assignment-operators@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz#e599f82c51d55fac725f62ce55d3a0886279ecb5" + integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg== dependencies: - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-module-transforms" "^7.20.11" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-validator-identifier" "^7.19.1" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-transform-modules-umd@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9" - integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== +"@babel/plugin-transform-member-expression-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc" + integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz#626298dd62ea51d452c3be58b285d23195ba69a8" - integrity sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA== +"@babel/plugin-transform-modules-amd@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d" + integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.20.5" - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-new-target@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8" - integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== +"@babel/plugin-transform-modules-commonjs@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" + integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" -"@babel/plugin-transform-object-super@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" - integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== +"@babel/plugin-transform-modules-systemjs@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz#fa7e62248931cb15b9404f8052581c302dd9de81" + integrity sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.6" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" -"@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7": - version "7.21.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz#18fc4e797cf6d6d972cb8c411dbe8a809fa157db" - integrity sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ== +"@babel/plugin-transform-modules-umd@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9" + integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-property-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" - integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== +"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" + integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-regenerator@^7.18.6": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz#57cda588c7ffb7f4f8483cc83bdcea02a907f04d" - integrity sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ== +"@babel/plugin-transform-new-target@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980" + integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - regenerator-transform "^0.15.1" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-reserved-words@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a" - integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== +"@babel/plugin-transform-nullish-coalescing-operator@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz#45556aad123fc6e52189ea749e33ce090637346e" + integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-transform-shorthand-properties@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" - integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== +"@babel/plugin-transform-numeric-separator@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz#03d08e3691e405804ecdd19dd278a40cca531f29" + integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-transform-spread@^7.19.0": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz#c2d83e0b99d3bf83e07b11995ee24bf7ca09401e" - integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw== +"@babel/plugin-transform-object-rest-spread@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz#2b9c2d26bf62710460bdc0d1730d4f1048361b83" + integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/compat-data" "^7.23.3" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.23.3" -"@babel/plugin-transform-sticky-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" - integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== +"@babel/plugin-transform-object-super@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd" + integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" -"@babel/plugin-transform-template-literals@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" - integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== +"@babel/plugin-transform-optional-catch-binding@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz#318066de6dacce7d92fa244ae475aa8d91778017" + integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-transform-typeof-symbol@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0" - integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== +"@babel/plugin-transform-optional-chaining@^7.23.3", "@babel/plugin-transform-optional-chaining@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017" + integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-transform-unicode-escapes@^7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246" - integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== +"@babel/plugin-transform-parameters@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" + integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-unicode-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" - integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== +"@babel/plugin-transform-private-methods@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz#b2d7a3c97e278bfe59137a978d53b2c2e038c0e4" + integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-private-property-in-object@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz#3ec711d05d6608fd173d9b8de39872d8dbf68bf5" + integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-transform-property-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875" + integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-regenerator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c" + integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + regenerator-transform "^0.15.2" + +"@babel/plugin-transform-reserved-words@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8" + integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-shorthand-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210" + integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-spread@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c" + integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-sticky-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04" + integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-template-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07" + integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-typeof-symbol@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4" + integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-escapes@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925" + integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-property-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz#19e234129e5ffa7205010feec0d94c251083d7ad" + integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc" + integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-sets-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz#4fb6f0a719c2c5859d11f6b55a050cc987f3799e" + integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/preset-env@^7.12.11", "@babel/preset-env@^7.16.0": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.20.2.tgz#9b1642aa47bb9f43a86f9630011780dab7f86506" - integrity sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg== - dependencies: - "@babel/compat-data" "^7.20.1" - "@babel/helper-compilation-targets" "^7.20.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-async-generator-functions" "^7.20.1" - "@babel/plugin-proposal-class-properties" "^7.18.6" - "@babel/plugin-proposal-class-static-block" "^7.18.6" - "@babel/plugin-proposal-dynamic-import" "^7.18.6" - "@babel/plugin-proposal-export-namespace-from" "^7.18.9" - "@babel/plugin-proposal-json-strings" "^7.18.6" - "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" - "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.20.2" - "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-private-methods" "^7.18.6" - "@babel/plugin-proposal-private-property-in-object" "^7.18.6" - "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" +"@babel/preset-env@^7.16.0": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.7.tgz#e5d69b9f14db8a13bae4d8e5ce7f360973626241" + integrity sha512-SY27X/GtTz/L4UryMNJ6p4fH4nsgWbz84y9FE0bQeWJP6O5BhgVCt53CotQKHCOeXJel8VyhlhujhlltKms/CA== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.7" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.20.0" + "@babel/plugin-syntax-import-assertions" "^7.23.3" + "@babel/plugin-syntax-import-attributes" "^7.23.3" + "@babel/plugin-syntax-import-meta" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" @@ -882,54 +832,68 @@ "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.18.6" - "@babel/plugin-transform-async-to-generator" "^7.18.6" - "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.20.2" - "@babel/plugin-transform-classes" "^7.20.2" - "@babel/plugin-transform-computed-properties" "^7.18.9" - "@babel/plugin-transform-destructuring" "^7.20.2" - "@babel/plugin-transform-dotall-regex" "^7.18.6" - "@babel/plugin-transform-duplicate-keys" "^7.18.9" - "@babel/plugin-transform-exponentiation-operator" "^7.18.6" - "@babel/plugin-transform-for-of" "^7.18.8" - "@babel/plugin-transform-function-name" "^7.18.9" - "@babel/plugin-transform-literals" "^7.18.9" - "@babel/plugin-transform-member-expression-literals" "^7.18.6" - "@babel/plugin-transform-modules-amd" "^7.19.6" - "@babel/plugin-transform-modules-commonjs" "^7.19.6" - "@babel/plugin-transform-modules-systemjs" "^7.19.6" - "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" - "@babel/plugin-transform-new-target" "^7.18.6" - "@babel/plugin-transform-object-super" "^7.18.6" - "@babel/plugin-transform-parameters" "^7.20.1" - "@babel/plugin-transform-property-literals" "^7.18.6" - "@babel/plugin-transform-regenerator" "^7.18.6" - "@babel/plugin-transform-reserved-words" "^7.18.6" - "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.19.0" - "@babel/plugin-transform-sticky-regex" "^7.18.6" - "@babel/plugin-transform-template-literals" "^7.18.9" - "@babel/plugin-transform-typeof-symbol" "^7.18.9" - "@babel/plugin-transform-unicode-escapes" "^7.18.10" - "@babel/plugin-transform-unicode-regex" "^7.18.6" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.20.2" - babel-plugin-polyfill-corejs2 "^0.3.3" - babel-plugin-polyfill-corejs3 "^0.6.0" - babel-plugin-polyfill-regenerator "^0.4.1" - core-js-compat "^3.25.1" - semver "^6.3.0" - -"@babel/preset-modules@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" - integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.23.3" + "@babel/plugin-transform-async-generator-functions" "^7.23.7" + "@babel/plugin-transform-async-to-generator" "^7.23.3" + "@babel/plugin-transform-block-scoped-functions" "^7.23.3" + "@babel/plugin-transform-block-scoping" "^7.23.4" + "@babel/plugin-transform-class-properties" "^7.23.3" + "@babel/plugin-transform-class-static-block" "^7.23.4" + "@babel/plugin-transform-classes" "^7.23.5" + "@babel/plugin-transform-computed-properties" "^7.23.3" + "@babel/plugin-transform-destructuring" "^7.23.3" + "@babel/plugin-transform-dotall-regex" "^7.23.3" + "@babel/plugin-transform-duplicate-keys" "^7.23.3" + "@babel/plugin-transform-dynamic-import" "^7.23.4" + "@babel/plugin-transform-exponentiation-operator" "^7.23.3" + "@babel/plugin-transform-export-namespace-from" "^7.23.4" + "@babel/plugin-transform-for-of" "^7.23.6" + "@babel/plugin-transform-function-name" "^7.23.3" + "@babel/plugin-transform-json-strings" "^7.23.4" + "@babel/plugin-transform-literals" "^7.23.3" + "@babel/plugin-transform-logical-assignment-operators" "^7.23.4" + "@babel/plugin-transform-member-expression-literals" "^7.23.3" + "@babel/plugin-transform-modules-amd" "^7.23.3" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/plugin-transform-modules-systemjs" "^7.23.3" + "@babel/plugin-transform-modules-umd" "^7.23.3" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.23.3" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4" + "@babel/plugin-transform-numeric-separator" "^7.23.4" + "@babel/plugin-transform-object-rest-spread" "^7.23.4" + "@babel/plugin-transform-object-super" "^7.23.3" + "@babel/plugin-transform-optional-catch-binding" "^7.23.4" + "@babel/plugin-transform-optional-chaining" "^7.23.4" + "@babel/plugin-transform-parameters" "^7.23.3" + "@babel/plugin-transform-private-methods" "^7.23.3" + "@babel/plugin-transform-private-property-in-object" "^7.23.4" + "@babel/plugin-transform-property-literals" "^7.23.3" + "@babel/plugin-transform-regenerator" "^7.23.3" + "@babel/plugin-transform-reserved-words" "^7.23.3" + "@babel/plugin-transform-shorthand-properties" "^7.23.3" + "@babel/plugin-transform-spread" "^7.23.3" + "@babel/plugin-transform-sticky-regex" "^7.23.3" + "@babel/plugin-transform-template-literals" "^7.23.3" + "@babel/plugin-transform-typeof-symbol" "^7.23.3" + "@babel/plugin-transform-unicode-escapes" "^7.23.3" + "@babel/plugin-transform-unicode-property-regex" "^7.23.3" + "@babel/plugin-transform-unicode-regex" "^7.23.3" + "@babel/plugin-transform-unicode-sets-regex" "^7.23.3" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.7" + babel-plugin-polyfill-corejs3 "^0.8.7" + babel-plugin-polyfill-regenerator "^0.5.4" + core-js-compat "^3.31.0" + semver "^6.3.1" + +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" "@babel/types" "^7.4.4" esutils "^2.0.2" @@ -939,20 +903,11 @@ integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== "@babel/runtime@^7.8.4": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673" - integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw== - dependencies: - regenerator-runtime "^0.13.11" - -"@babel/template@^7.18.10", "@babel/template@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" - integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.7.tgz#dd7c88deeb218a0f8bd34d5db1aa242e0f203193" + integrity sha512-w06OXVOFso7LcbzMiDGt+3X7Rh7Ho8MmgPoWU3rarH+8upf+wSU/grlGbWzQyr3DkdN6ZeuMFjpdwW0Q+HxobA== dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" + regenerator-runtime "^0.14.0" "@babel/template@^7.22.15": version "7.22.15" @@ -963,37 +918,28 @@ "@babel/parser" "^7.22.15" "@babel/types" "^7.22.15" -"@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.3": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8" - integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw== +"@babel/traverse@^7.23.7": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.7.tgz#9a7bf285c928cb99b5ead19c3b1ce5b310c9c305" + integrity sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg== dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.23.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-function-name" "^7.23.0" "@babel/helper-hoist-variables" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.23.0" - "@babel/types" "^7.23.0" - debug "^4.1.0" + "@babel/parser" "^7.23.6" + "@babel/types" "^7.23.6" + debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.21.3", "@babel/types@^7.4.4": - version "7.21.3" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.3.tgz#4865a5357ce40f64e3400b0f3b737dc6d4f64d05" - integrity sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg== - dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" - -"@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" - integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== +"@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6", "@babel/types@^7.4.4": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.6.tgz#be33fdb151e1f5a56877d704492c240fc71c7ccd" + integrity sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg== dependencies: - "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-string-parser" "^7.23.4" "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" @@ -1007,63 +953,79 @@ resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== +"@hotwired/stimulus-webpack-helpers@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@hotwired/stimulus-webpack-helpers/-/stimulus-webpack-helpers-1.0.1.tgz#4cd74487adeca576c9865ac2b9fe5cb20cef16dd" + integrity sha512-wa/zupVG0eWxRYJjC1IiPBdt3Lruv0RqGN+/DTMmUWUyMAEB27KXmVY6a8YpUVTM7QwVuaLNGW4EqDgrS2upXQ== + "@hotwired/stimulus@^3.0.0": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@hotwired/stimulus/-/stimulus-3.2.1.tgz#e3de23623b0c52c247aba4cd5d530d257008676b" - integrity sha512-HGlzDcf9vv/EQrMJ5ZG6VWNs8Z/xMN+1o2OhV1gKiSG6CqZt5MCBB1gRg5ILiN3U0jEAxuDTNPRfBcnZBDmupQ== + version "3.2.2" + resolved "https://registry.yarnpkg.com/@hotwired/stimulus/-/stimulus-3.2.2.tgz#071aab59c600fed95b97939e605ff261a4251608" + integrity sha512-eGeIqNOQpXoPAIP7tC1+1Yc1yl1xnwYqg+3mzqxyrbE5pg5YFBZcA6YoTiByJB6DKAEsiWtl6tjTJS4IYtbB7A== "@hotwired/turbo@^7.0.1": version "7.3.0" resolved "https://registry.yarnpkg.com/@hotwired/turbo/-/turbo-7.3.0.tgz#2226000fff1aabda9fd9587474565c9929dbf15d" integrity sha512-Dcu+NaSvHLT7EjrDrkEmH4qET2ZJZ5IcCWmNXxNQTBwlnE5tBZfN6WxZ842n5cHV52DH/AKNirbPBtcEXDLW4g== -"@jridgewell/gen-mapping@^0.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" + "@sinclair/typebox" "^0.27.8" + +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== dependencies: "@jridgewell/set-array" "^1.0.1" "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/resolve-uri@3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== -"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": +"@jridgewell/set-array@^1.0.1": version "1.1.2" resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== -"@jridgewell/source-map@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" - integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== +"@jridgewell/source-map@^0.3.3": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" + integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== dependencies: "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.14" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== -"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.17" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" - integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== +"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.20" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f" + integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" "@leichtgewicht/ip-codec@^2.0.1": version "2.0.4" @@ -1087,38 +1049,51 @@ rimraf "^3.0.2" "@nuxt/friendly-errors-webpack-plugin@^2.5.1": - version "2.5.2" - resolved "https://registry.yarnpkg.com/@nuxt/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-2.5.2.tgz#982a43ee2da61611f7396439e57038392d3944d5" - integrity sha512-LLc+90lnxVbpKkMqk5z1EWpXoODhc6gRkqqXJCInJwF5xabHAE7biFvbULfvTRmtaTzAaP8IV4HQDLUgeAUTTw== + version "2.6.0" + resolved "https://registry.yarnpkg.com/@nuxt/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-2.6.0.tgz#bd0cf6cd73b6e1d3e7c7f1c0de43333e69cc660c" + integrity sha512-3IZj6MXbzlvUxDncAxgBMLQwGPY/JlNhy2i+AGyOHCAReR5HcBxYjVRBvyaKM9R3s5k4OODYKeHAbrToZH/47w== dependencies: - chalk "^2.3.2" - consola "^2.6.0" - error-stack-parser "^2.0.0" + chalk "^2.4.2" + consola "^3.2.3" + error-stack-parser "^2.1.4" string-width "^4.2.3" "@popperjs/core@^2.10.2": - version "2.11.7" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.7.tgz#ccab5c8f7dc557a52ca3288c10075c9ccd37fff7" - integrity sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw== + version "2.11.8" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" + integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== + +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@symfony/stimulus-bridge@^3.2.0": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@symfony/stimulus-bridge/-/stimulus-bridge-3.2.2.tgz#afc1918f82d78cb2b6e299285c54094aa7f53696" + integrity sha512-kIaUEGPXW7g14zsHkIvQWw8cmfCdXSqsEQx18fuHPBb+R0h8nYPyY+e9uVtTuHlE2wHwAjrJoc6YBBK4a7CpKA== + dependencies: + "@hotwired/stimulus-webpack-helpers" "^1.0.1" + "@types/webpack-env" "^1.16.4" + acorn "^8.0.5" + loader-utils "^2.0.0" + schema-utils "^3.0.0" "@symfony/ux-turbo@file:vendor/symfony/ux-turbo/assets": version "0.1.0" -"@symfony/webpack-encore@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@symfony/webpack-encore/-/webpack-encore-2.1.0.tgz#353a1b8bc38022046cbbc3d627c4076aca2e28c3" - integrity sha512-Cl4VhFUsiaG+R5vAntnpOqi0eBXyk2ccxR+7DatpJ9eq+qRtnxBD84/+q4jHM9AJ9gMqHzWTtBVcDmSj1rKuPA== +"@symfony/webpack-encore@^4.0.0": + version "4.5.0" + resolved "https://registry.yarnpkg.com/@symfony/webpack-encore/-/webpack-encore-4.5.0.tgz#6f8251518412e37e947100cb6daadf846cfea8dd" + integrity sha512-eGHtQc1BDDj7hS35FyIDxQdgQcgKZ5kPh9nLLUihyDE37kPav/id1PfaHoAfydqQyv4QHsXQzLfdYC7k8agFLw== dependencies: - "@babel/core" "^7.17.0" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - "@babel/preset-env" "^7.16.0" "@nuxt/friendly-errors-webpack-plugin" "^2.5.1" assets-webpack-plugin "7.0.*" - babel-loader "^8.2.2" + babel-loader "^9.1.3" chalk "^4.0.0" clean-webpack-plugin "^4.0.0" css-loader "^6.7.0" - css-minimizer-webpack-plugin "^3.4.0" + css-minimizer-webpack-plugin "^5.0.0" fast-levenshtein "^3.0.0" mini-css-extract-plugin "^2.6.0" pkg-up "^3.1.0" @@ -1127,10 +1102,9 @@ semver "^7.3.2" style-loader "^3.3.0" sync-rpc "^1.3.6" + tapable "^2.2.1" terser-webpack-plugin "^5.3.0" tmp "^0.2.1" - webpack "^5.72" - webpack-cli "^4.9.1" webpack-dev-server "^4.8.0" yargs-parser "^21.0.0" @@ -1145,74 +1119,70 @@ integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== "@types/body-parser@*": - version "1.19.2" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" - integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== + version "1.19.5" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" + integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== dependencies: "@types/connect" "*" "@types/node" "*" "@types/bonjour@^3.5.9": - version "3.5.10" - resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.10.tgz#0f6aadfe00ea414edc86f5d106357cda9701e275" - integrity sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw== + version "3.5.13" + resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.13.tgz#adf90ce1a105e81dd1f9c61fdc5afda1bfb92956" + integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ== dependencies: "@types/node" "*" "@types/connect-history-api-fallback@^1.3.5": - version "1.3.5" - resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz#d1f7a8a09d0ed5a57aee5ae9c18ab9b803205dae" - integrity sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw== + version "1.5.4" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz#7de71645a103056b48ac3ce07b3520b819c1d5b3" + integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== dependencies: "@types/express-serve-static-core" "*" "@types/node" "*" "@types/connect@*": - version "3.4.35" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" - integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + version "3.4.38" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" + integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== dependencies: "@types/node" "*" "@types/eslint-scope@^3.7.3": - version "3.7.4" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" - integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== + version "3.7.7" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - version "8.21.3" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.21.3.tgz#5794b3911f0f19e34e3a272c49cbdf48d6f543f2" - integrity sha512-fa7GkppZVEByMWGbTtE5MbmXWJTVbrjjaS8K6uQj+XtuuUv1fsuPAxhygfqLmsb/Ufb3CV8deFCpiMfAgi00Sw== + version "8.56.1" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.1.tgz#988cabb39c973e9200f35fdbb29d17992965bb08" + integrity sha512-18PLWRzhy9glDQp3+wOgfLYRWlhgX0azxgJ63rdpoUHyrC9z0f5CkFburjQx4uD7ZCruw85ZtMt6K+L+R8fLJQ== dependencies: "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" - integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== - -"@types/estree@^0.0.51": - version "0.0.51" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" - integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== +"@types/estree@*", "@types/estree@^1.0.0": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": - version "4.17.33" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz#de35d30a9d637dc1450ad18dd583d75d5733d543" - integrity sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA== + version "4.17.41" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz#5077defa630c2e8d28aa9ffc2c01c157c305bef6" + integrity sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" + "@types/send" "*" "@types/express@*", "@types/express@^4.17.13": - version "4.17.17" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.17.tgz#01d5437f6ef9cfa8668e616e13c2f2ac9a491ae4" - integrity sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q== + version "4.17.21" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" + integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.33" @@ -1227,22 +1197,51 @@ "@types/minimatch" "*" "@types/node" "*" +"@types/http-errors@*": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" + integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== + "@types/http-proxy@^1.17.8": - version "1.17.10" - resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.10.tgz#e576c8e4a0cc5c6a138819025a88e167ebb38d6c" - integrity sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g== + version "1.17.14" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.14.tgz#57f8ccaa1c1c3780644f8a94f9c6b5000b5e2eec" + integrity sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w== dependencies: "@types/node" "*" +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== + +"@types/istanbul-lib-report@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== + dependencies: + "@types/istanbul-lib-report" "*" + "@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/mime@*": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" - integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.4.tgz#2198ac274de6017b44d941e00261d5bc6a0e0a45" + integrity sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw== + +"@types/mime@^1": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" + integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== "@types/minimatch@*": version "5.1.2" @@ -1250,188 +1249,218 @@ integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== "@types/minimist@^1.2.0": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" - integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== + version "1.2.5" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e" + integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== + +"@types/node-forge@^1.3.0": + version "1.3.11" + resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.11.tgz#0972ea538ddb0f4d9c2fa0ec5db5724773a604da" + integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== + dependencies: + "@types/node" "*" "@types/node@*": - version "18.15.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.9.tgz#a9b529d2a16ae73122b3875969e7db18c9f3e790" - integrity sha512-dUxhiNzBLr6IqlZXz6e/rN2YQXlFgOei/Dxy+e3cyXTJ4txSUbGT2/fmnD6zd/75jDMeW5bDee+YXxlFKHoV0A== + version "20.10.7" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.7.tgz#40fe8faf25418a75de9fe68a8775546732a3a901" + integrity sha512-fRbIKb8C/Y2lXxB5eVMj4IU7xpdox0Lh8bUPEdtLysaylsml1hOOx1+STloRs/B9nf7C6kPRmmg/V7aQW7usNg== + dependencies: + undici-types "~5.26.4" "@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + version "2.4.4" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" + integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== "@types/qs@*": - version "6.9.7" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" - integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== + version "6.9.11" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.11.tgz#208d8a30bc507bd82e03ada29e4732ea46a6bbda" + integrity sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ== "@types/range-parser@*": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" - integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + version "1.2.7" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" + integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== "@types/retry@0.12.0": version "0.12.0" resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== +"@types/send@*": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a" + integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + "@types/serve-index@^1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.1.tgz#1b5e85370a192c01ec6cec4735cf2917337a6278" - integrity sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg== + version "1.9.4" + resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.4.tgz#e6ae13d5053cb06ed36392110b4f9a49ac4ec898" + integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug== dependencies: "@types/express" "*" "@types/serve-static@*", "@types/serve-static@^1.13.10": - version "1.15.1" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.1.tgz#86b1753f0be4f9a1bee68d459fcda5be4ea52b5d" - integrity sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ== + version "1.15.5" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.5.tgz#15e67500ec40789a1e8c9defc2d32a896f05b033" + integrity sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ== dependencies: + "@types/http-errors" "*" "@types/mime" "*" "@types/node" "*" "@types/sockjs@^0.3.33": - version "0.3.33" - resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.33.tgz#570d3a0b99ac995360e3136fd6045113b1bd236f" - integrity sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw== + version "0.3.36" + resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" + integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== dependencies: "@types/node" "*" -"@types/ws@^8.5.1": - version "8.5.4" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.4.tgz#bb10e36116d6e570dd943735f86c933c1587b8a5" - integrity sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg== +"@types/webpack-env@^1.16.4": + version "1.18.4" + resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.18.4.tgz#62879b0a9c653f9b1172d403b882f2045ecce032" + integrity sha512-I6e+9+HtWADAWeeJWDFQtdk4EVSAbj6Rtz4q8fJ7mSr1M0jzlFcs8/HZ+Xb5SHzVm1dxH7aUiI+A8kA8Gcrm0A== + +"@types/ws@^8.5.5": + version "8.5.10" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787" + integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== dependencies: "@types/node" "*" -"@webassemblyjs/ast@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" - integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== +"@types/yargs-parser@*": + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== + +"@types/yargs@^17.0.8": + version "17.0.32" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" + integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== dependencies: - "@webassemblyjs/helper-numbers" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@types/yargs-parser" "*" -"@webassemblyjs/floating-point-hex-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" - integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== +"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" + integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== -"@webassemblyjs/helper-api-error@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" - integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== -"@webassemblyjs/helper-buffer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" - integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== +"@webassemblyjs/helper-buffer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" + integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== -"@webassemblyjs/helper-numbers@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" - integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" "@xtuc/long" "4.2.2" -"@webassemblyjs/helper-wasm-bytecode@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" - integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== -"@webassemblyjs/helper-wasm-section@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" - integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== +"@webassemblyjs/helper-wasm-section@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" + integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" -"@webassemblyjs/ieee754@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" - integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" - integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" - integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== - -"@webassemblyjs/wasm-edit@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" - integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/helper-wasm-section" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-opt" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - "@webassemblyjs/wast-printer" "1.11.1" - -"@webassemblyjs/wasm-gen@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" - integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wasm-opt@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" - integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - -"@webassemblyjs/wasm-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" - integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wast-printer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" - integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== - dependencies: - "@webassemblyjs/ast" "1.11.1" +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" + integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-opt" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + "@webassemblyjs/wast-printer" "1.11.6" + +"@webassemblyjs/wasm-gen@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" + integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wasm-opt@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" + integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + +"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" + integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wast-printer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" + integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== + dependencies: + "@webassemblyjs/ast" "1.11.6" "@xtuc/long" "4.2.2" "@webpack-cli/configtest@^1.2.0": @@ -1474,15 +1503,15 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: mime-types "~2.1.34" negotiator "0.6.3" -acorn-import-assertions@^1.7.6: - version "1.8.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" - integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== -acorn@^8.5.0, acorn@^8.7.1: - version "8.8.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" - integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== +acorn@^8.0.5, acorn@^8.7.1, acorn@^8.8.2: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== adjust-sourcemap-loader@^4.0.0: version "4.0.0" @@ -1500,12 +1529,10 @@ agent-base@6, agent-base@^6.0.2: debug "4" agentkeepalive@^4.1.3: - version "4.3.0" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.3.0.tgz#bb999ff07412653c1803b3ced35e50729830a255" - integrity sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg== + version "4.5.0" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" + integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== dependencies: - debug "^4.1.0" - depd "^2.0.0" humanize-ms "^1.2.1" aggregate-error@^3.0.0: @@ -1528,7 +1555,7 @@ ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv-keywords@^5.0.0: +ajv-keywords@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== @@ -1545,7 +1572,7 @@ ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.8.0: +ajv@^8.0.0, ajv@^8.9.0: version "8.12.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== @@ -1613,16 +1640,16 @@ are-we-there-yet@^3.0.0: delegates "^1.0.0" readable-stream "^3.6.0" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== -array-flatten@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" @@ -1679,13 +1706,13 @@ asynckit@^0.4.0: integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== autoprefixer@^10.4.7: - version "10.4.14" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.14.tgz#e28d49902f8e759dd25b153264e862df2705f79d" - integrity sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ== + version "10.4.16" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.16.tgz#fad1411024d8670880bdece3970aa72e3572feb8" + integrity sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ== dependencies: - browserslist "^4.21.5" - caniuse-lite "^1.0.30001464" - fraction.js "^4.2.0" + browserslist "^4.21.10" + caniuse-lite "^1.0.30001538" + fraction.js "^4.3.6" normalize-range "^0.1.2" picocolors "^1.0.0" postcss-value-parser "^4.2.0" @@ -1710,29 +1737,37 @@ babel-loader@^8.2.2: make-dir "^3.1.0" schema-utils "^2.6.5" -babel-plugin-polyfill-corejs2@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" - integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== +babel-loader@^9.1.3: + version "9.1.3" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.3.tgz#3d0e01b4e69760cc694ee306fe16d358aa1c6f9a" + integrity sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw== + dependencies: + find-cache-dir "^4.0.0" + schema-utils "^4.0.0" + +babel-plugin-polyfill-corejs2@^0.4.7: + version "0.4.7" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.7.tgz#679d1b94bf3360f7682e11f2cb2708828a24fe8c" + integrity sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ== dependencies: - "@babel/compat-data" "^7.17.7" - "@babel/helper-define-polyfill-provider" "^0.3.3" - semver "^6.1.1" + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.4.4" + semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" - integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== +babel-plugin-polyfill-corejs3@^0.8.7: + version "0.8.7" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz#941855aa7fdaac06ed24c730a93450d2b2b76d04" + integrity sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" - core-js-compat "^3.25.1" + "@babel/helper-define-polyfill-provider" "^0.4.4" + core-js-compat "^3.33.1" -babel-plugin-polyfill-regenerator@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" - integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== +babel-plugin-polyfill-regenerator@^0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.4.tgz#c6fc8eab610d3a11eb475391e52584bacfc020f4" + integrity sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" + "@babel/helper-define-polyfill-provider" "^0.4.4" balanced-match@^1.0.0: version "1.0.2" @@ -1780,12 +1815,10 @@ body-parser@1.20.1: unpipe "1.0.0" bonjour-service@^1.0.11: - version "1.1.1" - resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.1.1.tgz#960948fa0e0153f5d26743ab15baf8e33752c135" - integrity sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg== + version "1.2.0" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.2.0.tgz#1c56da07a76e33b049ba7d865859abee5297f55a" + integrity sha512-xdzMA6JGckxyJzZByjEWRcfKmDxXaGXZWVftah3FkCqdlePNS9DjHSUN5zkP4oEfz/t0EXXlro88EIhzwMB4zA== dependencies: - array-flatten "^2.1.2" - dns-equal "^1.0.0" fast-deep-equal "^3.1.3" multicast-dns "^7.2.5" @@ -1795,16 +1828,16 @@ boolbase@^1.0.0: integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== bootstrap-datepicker@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/bootstrap-datepicker/-/bootstrap-datepicker-1.9.0.tgz#e4bfce3fcce1967876b21dc6833ec5994aaed090" - integrity sha512-9rYYbaVOheGYxjOr/+bJCmRPihfy+LkLSg4fIFMT9Od8WwWB/MB50w0JO1eBgKUMbb7PFHQD5uAfI3ArAxZRXA== + version "1.10.0" + resolved "https://registry.yarnpkg.com/bootstrap-datepicker/-/bootstrap-datepicker-1.10.0.tgz#61612bbe8bf0a69a5bce32bbcdda93ebb6ccf24a" + integrity sha512-lWxtSYddAQOpbAO8UhYhHLcK6425eWoSjb5JDvZU3ePHEPF6A3eUr51WKaFy4PccU19JRxUG6wEU3KdhtKfvpg== dependencies: - jquery ">=1.7.1 <4.0.0" + jquery ">=3.4.0 <4.0.0" bootstrap@^5.1.3: - version "5.2.3" - resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.2.3.tgz#54739f4414de121b9785c5da3c87b37ff008322b" - integrity sha512-cEKPM+fwb3cT8NzQZYEu4HilJ3anCrWqh3CHAok1p9jXqMPsPTBhU25fBckEJHJ/p+tTxTFTsFQGM+gaHpi3QQ== + version "5.3.2" + resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.3.2.tgz#97226583f27aae93b2b28ab23f4c114757ff16ae" + integrity sha512-D32nmNWiQHo94BKHLmOrdjlL05q1c8oxbtBphQFb9Z5to6eGRDCm0QgeaZ4zFBHzfg2++rqa2JkqCcxDy0sH0g== brace-expansion@^1.1.7: version "1.1.11" @@ -1821,15 +1854,15 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" -browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.21.3, browserslist@^4.21.4, browserslist@^4.21.5: - version "4.21.5" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" - integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== +browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.21.10, browserslist@^4.22.2: + version "4.22.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" + integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== dependencies: - caniuse-lite "^1.0.30001449" - electron-to-chromium "^1.4.284" - node-releases "^2.0.8" - update-browserslist-db "^1.0.10" + caniuse-lite "^1.0.30001565" + electron-to-chromium "^1.4.601" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" buffer-from@^1.0.0: version "1.1.2" @@ -1871,12 +1904,13 @@ cacache@^15.2.0: unique-filename "^1.1.1" call-bind@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + version "1.0.5" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" + integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" + function-bind "^1.1.2" + get-intrinsic "^1.2.1" + set-function-length "^1.1.1" callsites@^3.0.0: version "3.1.0" @@ -1912,10 +1946,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001449, caniuse-lite@^1.0.30001464: - version "1.0.30001469" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001469.tgz#3dd505430c8522fdc9f94b4a19518e330f5c945a" - integrity sha512-Rcp7221ScNqQPP3W+lVOYDyjdR6dC+neEQCttoNr5bAyz54AboB4iwpnWgyi8P4YUsPybVzT4LgWiBbI3drL4g== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001565: + version "1.0.30001576" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001576.tgz#893be772cf8ee6056d6c1e2d07df365b9ec0a5c4" + integrity sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg== cardinal@^1.0.0: version "1.0.0" @@ -1930,7 +1964,7 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== -chalk@^2.0.0, chalk@^2.3.2, chalk@^2.4.2: +chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -1972,9 +2006,14 @@ chrome-trace-event@^1.0.2: resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + ckeditor4@ckeditor/ckeditor4-releases#full/latest: - version "4.21.0" - resolved "https://codeload.github.com/ckeditor/ckeditor4-releases/tar.gz/4662f97b3197f41bb834ca6f934b4120e67ff77c" + version "4.23.0" + resolved "https://codeload.github.com/ckeditor/ckeditor4-releases/tar.gz/d7174a8484b0f368402329b604d48ab0cc13bc14" ckeditor5@^21.0.0: version "21.0.0" @@ -2021,9 +2060,9 @@ clone-deep@^4.0.1: shallow-clone "^3.0.0" codemirror@^5.59.0: - version "5.65.12" - resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.65.12.tgz#294fdf097d10ac5b56a9e011a91eff252afc73ae" - integrity sha512-z2jlHBocElRnPYysN2HAuhXbO3DNB0bcSKmNz3hcWR2Js2Dkhc1bEOxG93Z3DeUrnm+qx56XOY5wQmbP5KY0sw== + version "5.65.16" + resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.65.16.tgz#efc0661be6bf4988a6a1c2fe6893294638cdb334" + integrity sha512-br21LjYmSlVL0vFCPWPfhzUCT34FM/pAdK7rRIZwa0rrtrIdotvP4Oh4GUHsu2E3IrQMCfRkL/fN3ytMNxVQvg== color-convert@^1.9.0: version "1.9.3" @@ -2060,9 +2099,9 @@ colord@^2.9.1: integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== colorette@^2.0.10, colorette@^2.0.14: - version "2.0.19" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" - integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" @@ -2086,6 +2125,11 @@ commander@^8.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== +common-path-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" + integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== + commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -2121,10 +2165,10 @@ connect-history-api-fallback@^2.0.0: resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== -consola@^2.6.0: - version "2.15.3" - resolved "https://registry.yarnpkg.com/consola/-/consola-2.15.3.tgz#2e11f98d6a4be71ff72e0bdf07bd23e12cb61550" - integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== +consola@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/consola/-/consola-3.2.3.tgz#0741857aa88cfa0d6fd53f1cff0375136e98502f" + integrity sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ== console-control-strings@^1.0.0, console-control-strings@^1.1.0: version "1.1.0" @@ -2148,6 +2192,11 @@ convert-source-map@^1.7.0: resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" @@ -2158,17 +2207,17 @@ cookie@0.5.0: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== -core-js-compat@^3.25.1: - version "3.29.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.29.1.tgz#15c0fb812ea27c973c18d425099afa50b934b41b" - integrity sha512-QmchCua884D8wWskMX8tW5ydINzd8oSJVx38lx/pVkFGqztxt73GYre3pm/hyYq8bPf+MW5In4I/uRShFDsbrA== +core-js-compat@^3.31.0, core-js-compat@^3.33.1: + version "3.35.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.35.0.tgz#c149a3d1ab51e743bc1da61e39cb51f461a41873" + integrity sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw== dependencies: - browserslist "^4.21.5" + browserslist "^4.22.2" -core-js@^3.0.0: - version "3.29.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.29.1.tgz#40ff3b41588b091aaed19ca1aa5cb111803fa9a6" - integrity sha512-+jwgnhg6cQxKYIIjGtAHq2nwUOolo9eoFZ4sHfUH09BLXBgxnH4gA0zEd+t+BO2cNB8idaBtZFcFTRjQJRJmAw== +core-js@^3.23.0: + version "3.35.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.35.0.tgz#58e651688484f83c34196ca13f099574ee53d6b4" + integrity sha512-ntakECeqg81KqMueeGJ79Q5ZgQNR+6eaE8sxGCx62zMbAIj65q+uYvatToew3m6eAGdU4gNZwpZ34NMe4GYswg== core-util-is@1.0.2: version "1.0.2" @@ -2180,16 +2229,15 @@ core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== -cosmiconfig@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" - integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== +cosmiconfig@^8.3.5: + version "8.3.6" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" + integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" + import-fresh "^3.3.0" + js-yaml "^4.1.0" + parse-json "^5.2.0" path-type "^4.0.0" - yaml "^1.10.0" cross-spawn@^7.0.3: version "7.0.3" @@ -2200,36 +2248,36 @@ cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -css-declaration-sorter@^6.3.1: - version "6.4.0" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz#630618adc21724484b3e9505bce812def44000ad" - integrity sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew== +css-declaration-sorter@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-7.1.1.tgz#9796bcc257b4647c39993bda8d431ce32b666f80" + integrity sha512-dZ3bVTEEc1vxr3Bek9vGwfB5Z6ESPULhcRvO472mfjVnj8jRcTnKO8/JTczlvxM10Myb+wBM++1MtdO76eWcaQ== css-loader@^6.7.0: - version "6.7.3" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.3.tgz#1e8799f3ccc5874fdd55461af51137fcc5befbcd" - integrity sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ== + version "6.8.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.8.1.tgz#0f8f52699f60f5e679eab4ec0fcd68b8e8a50a88" + integrity sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g== dependencies: icss-utils "^5.1.0" - postcss "^8.4.19" + postcss "^8.4.21" postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.0" + postcss-modules-local-by-default "^4.0.3" postcss-modules-scope "^3.0.0" postcss-modules-values "^4.0.0" postcss-value-parser "^4.2.0" semver "^7.3.8" -css-minimizer-webpack-plugin@^3.4.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz#ab78f781ced9181992fe7b6e4f3422e76429878f" - integrity sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q== - dependencies: - cssnano "^5.0.6" - jest-worker "^27.0.2" - postcss "^8.3.5" - schema-utils "^4.0.0" - serialize-javascript "^6.0.0" - source-map "^0.6.1" +css-minimizer-webpack-plugin@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz#33effe662edb1a0bf08ad633c32fa75d0f7ec565" + integrity sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg== + dependencies: + "@jridgewell/trace-mapping" "^0.3.18" + cssnano "^6.0.1" + jest-worker "^29.4.3" + postcss "^8.4.24" + schema-utils "^4.0.1" + serialize-javascript "^6.0.1" css-select@^4.1.3: version "4.3.0" @@ -2242,15 +2290,34 @@ css-select@^4.1.3: domutils "^2.8.0" nth-check "^2.0.1" -css-tree@^1.1.2, css-tree@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== +css-select@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" + integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== + dependencies: + boolbase "^1.0.0" + css-what "^6.1.0" + domhandler "^5.0.2" + domutils "^3.0.1" + nth-check "^2.0.1" + +css-tree@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" + integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" + mdn-data "2.0.30" + source-map-js "^1.0.1" -css-what@^6.0.1: +css-tree@~2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032" + integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== + dependencies: + mdn-data "2.0.28" + source-map-js "^1.0.1" + +css-what@^6.0.1, css-what@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== @@ -2260,61 +2327,60 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cssnano-preset-default@^5.2.14: - version "5.2.14" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz#309def4f7b7e16d71ab2438052093330d9ab45d8" - integrity sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A== - dependencies: - css-declaration-sorter "^6.3.1" - cssnano-utils "^3.1.0" - postcss-calc "^8.2.3" - postcss-colormin "^5.3.1" - postcss-convert-values "^5.1.3" - postcss-discard-comments "^5.1.2" - postcss-discard-duplicates "^5.1.0" - postcss-discard-empty "^5.1.1" - postcss-discard-overridden "^5.1.0" - postcss-merge-longhand "^5.1.7" - postcss-merge-rules "^5.1.4" - postcss-minify-font-values "^5.1.0" - postcss-minify-gradients "^5.1.1" - postcss-minify-params "^5.1.4" - postcss-minify-selectors "^5.2.1" - postcss-normalize-charset "^5.1.0" - postcss-normalize-display-values "^5.1.0" - postcss-normalize-positions "^5.1.1" - postcss-normalize-repeat-style "^5.1.1" - postcss-normalize-string "^5.1.0" - postcss-normalize-timing-functions "^5.1.0" - postcss-normalize-unicode "^5.1.1" - postcss-normalize-url "^5.1.0" - postcss-normalize-whitespace "^5.1.1" - postcss-ordered-values "^5.1.3" - postcss-reduce-initial "^5.1.2" - postcss-reduce-transforms "^5.1.0" - postcss-svgo "^5.1.0" - postcss-unique-selectors "^5.1.1" - -cssnano-utils@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" - integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== +cssnano-preset-default@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-6.0.3.tgz#b4ce755974f4dc8d3d09ac13bb6281cce3ced45e" + integrity sha512-4y3H370aZCkT9Ev8P4SO4bZbt+AExeKhh8wTbms/X7OLDo5E7AYUUy6YPxa/uF5Grf+AJwNcCnxKhZynJ6luBA== + dependencies: + css-declaration-sorter "^7.1.1" + cssnano-utils "^4.0.1" + postcss-calc "^9.0.1" + postcss-colormin "^6.0.2" + postcss-convert-values "^6.0.2" + postcss-discard-comments "^6.0.1" + postcss-discard-duplicates "^6.0.1" + postcss-discard-empty "^6.0.1" + postcss-discard-overridden "^6.0.1" + postcss-merge-longhand "^6.0.2" + postcss-merge-rules "^6.0.3" + postcss-minify-font-values "^6.0.1" + postcss-minify-gradients "^6.0.1" + postcss-minify-params "^6.0.2" + postcss-minify-selectors "^6.0.2" + postcss-normalize-charset "^6.0.1" + postcss-normalize-display-values "^6.0.1" + postcss-normalize-positions "^6.0.1" + postcss-normalize-repeat-style "^6.0.1" + postcss-normalize-string "^6.0.1" + postcss-normalize-timing-functions "^6.0.1" + postcss-normalize-unicode "^6.0.2" + postcss-normalize-url "^6.0.1" + postcss-normalize-whitespace "^6.0.1" + postcss-ordered-values "^6.0.1" + postcss-reduce-initial "^6.0.2" + postcss-reduce-transforms "^6.0.1" + postcss-svgo "^6.0.2" + postcss-unique-selectors "^6.0.2" + +cssnano-utils@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-4.0.1.tgz#fd18b42f95938bf55ab47967705355d6047bf1da" + integrity sha512-6qQuYDqsGoiXssZ3zct6dcMxiqfT6epy7x4R0TQJadd4LWO3sPR6JH6ZByOvVLoZ6EdwPGgd7+DR1EmX3tiXQQ== -cssnano@^5.0.6: - version "5.1.15" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.15.tgz#ded66b5480d5127fcb44dac12ea5a983755136bf" - integrity sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw== +cssnano@^6.0.1: + version "6.0.3" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-6.0.3.tgz#46db972da71aa159437287fb4c6bc9c5d3cc5d93" + integrity sha512-MRq4CIj8pnyZpcI2qs6wswoYoDD1t0aL28n+41c1Ukcpm56m1h6mCexIHBGjfZfnTqtGSSCP4/fB1ovxgjBOiw== dependencies: - cssnano-preset-default "^5.2.14" - lilconfig "^2.0.3" - yaml "^1.10.2" + cssnano-preset-default "^6.0.3" + lilconfig "^3.0.0" -csso@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" - integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== +csso@^5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6" + integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== dependencies: - css-tree "^1.1.2" + css-tree "~2.2.0" csv-parse@^4.6.5: version "4.16.3" @@ -2335,7 +2401,7 @@ debug@2.6.9: dependencies: ms "2.0.0" -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.3: +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.3: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -2362,6 +2428,15 @@ default-gateway@^6.0.3: dependencies: execa "^5.0.0" +define-data-property@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" + integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== + dependencies: + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + define-lazy-prop@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" @@ -2390,7 +2465,7 @@ delegates@^1.0.0: resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== -depd@2.0.0, depd@^2.0.0: +depd@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== @@ -2410,15 +2485,10 @@ detect-node@^2.0.4: resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== - dns-packet@^5.2.2: - version "5.4.0" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.4.0.tgz#1f88477cf9f27e78a213fb6d118ae38e759a879b" - integrity sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g== + version "5.6.1" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f" + integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== dependencies: "@leichtgewicht/ip-codec" "^2.0.1" @@ -2438,7 +2508,16 @@ dom-serializer@^1.0.1: domhandler "^4.2.0" entities "^2.0.0" -domelementtype@^2.0.1, domelementtype@^2.2.0: +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== @@ -2450,6 +2529,13 @@ domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: dependencies: domelementtype "^2.2.0" +domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" @@ -2459,6 +2545,15 @@ domutils@^2.5.2, domutils@^2.8.0: domelementtype "^2.2.0" domhandler "^4.2.0" +domutils@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" + integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" @@ -2472,10 +2567,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.4.284: - version "1.4.340" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.340.tgz#3a6d7414c1fc2dbf84b6f7af3ec24270606c85b8" - integrity sha512-zx8hqumOqltKsv/MF50yvdAlPF9S/4PXbyfzJS6ZGhbddGkRegdwImmfSVqCkEziYzrIGZ/TlrzBND4FysfkDg== +electron-to-chromium@^1.4.601: + version "1.4.623" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.623.tgz#0f7400114ac3425500e9244d2b0e9c3107c331cb" + integrity sha512-lKoz10iCYlP1WtRYdh5MvocQPWVRoI7ysp6qf18bmeBgR8abE6+I2CsfyNKztRDZvhdWc+krKT6wS7Neg8sw3A== emoji-regex@^8.0.0: version "8.0.0" @@ -2499,10 +2594,10 @@ encoding@^0.1.12: dependencies: iconv-lite "^0.6.2" -enhanced-resolve@^5.10.0: - version "5.12.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634" - integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== +enhanced-resolve@^5.15.0: + version "5.15.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" + integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -2512,15 +2607,20 @@ entities@^2.0.0: resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== +entities@^4.2.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + env-paths@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== envinfo@^7.7.3: - version "7.8.1" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" - integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== + version "7.11.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.11.0.tgz#c3793f44284a55ff8c82faf1ffd91bc6478ea01f" + integrity sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg== err-code@^2.0.2: version "2.0.3" @@ -2534,17 +2634,17 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -error-stack-parser@^2.0.0: +error-stack-parser@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== dependencies: stackframe "^1.3.4" -es-module-lexer@^0.9.0: - version "0.9.3" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" - integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== +es-module-lexer@^1.2.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" + integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== escalade@^3.1.1: version "3.1.1" @@ -2749,6 +2849,14 @@ find-cache-dir@^3.3.1: make-dir "^3.0.2" pkg-dir "^4.1.0" +find-cache-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz#a30ee0448f81a3990708f6453633c733e2f6eec2" + integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg== + dependencies: + common-path-prefix "^3.0.0" + pkg-dir "^7.0.0" + find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" @@ -2764,6 +2872,19 @@ find-up@^4.0.0, find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" +find-up@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" + integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== + dependencies: + locate-path "^7.1.0" + path-exists "^5.0.0" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + follow-redirects@^1.0.0: version "1.15.4" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.4.tgz#cdc7d308bf6493126b17ea2191ea0ccf3e535adf" @@ -2788,10 +2909,10 @@ forwarded@0.2.0: resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== -fraction.js@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" - integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== +fraction.js@^4.3.6: + version "4.3.7" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" + integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== fresh@0.5.2: version "0.5.2" @@ -2805,10 +2926,10 @@ fs-minipass@^2.0.0: dependencies: minipass "^3.0.0" -fs-monkey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" - integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== +fs-monkey@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.5.tgz#fe450175f0db0d7ea758102e1d84096acb925788" + integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== fs.realpath@^1.0.0: version "1.0.0" @@ -2816,14 +2937,14 @@ fs.realpath@^1.0.0: integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== gauge@^3.0.0: version "3.0.2" @@ -2871,14 +2992,15 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" - integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== +get-intrinsic@^1.0.2, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" + integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== dependencies: - function-bind "^1.1.1" - has "^1.0.3" + function-bind "^1.1.2" + has-proto "^1.0.1" has-symbols "^1.0.3" + hasown "^2.0.0" get-port@^3.1.0: version "3.2.0" @@ -2971,6 +3093,13 @@ globule@^1.0.0: lodash "^4.17.21" minimatch "~3.0.2" +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + graceful-fs@^4.1.2, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" @@ -3014,6 +3143,18 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +has-property-descriptors@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" + integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== + dependencies: + get-intrinsic "^1.2.2" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" @@ -3024,12 +3165,12 @@ has-unicode@^2.0.1: resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== dependencies: - function-bind "^1.1.1" + function-bind "^1.1.2" hosted-git-info@^2.1.4: version "2.8.9" @@ -3054,9 +3195,9 @@ hpack.js@^2.1.6: wbuf "^1.1.0" html-entities@^2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.3.3.tgz#117d7626bece327fc8baace8868fa6f5ef856e46" - integrity sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA== + version "2.4.0" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.4.0.tgz#edd0cee70402584c8c76cc2c0556db09d1f45061" + integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== htmlparser2@^6.1.0: version "6.1.0" @@ -3186,7 +3327,7 @@ icss-utils@^5.0.0, icss-utils@^5.1.0: resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== -import-fresh@^3.2.1: +import-fresh@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -3251,9 +3392,9 @@ ipaddr.js@1.9.1: integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== ipaddr.js@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0" - integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== + version "2.1.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f" + integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== is-arrayish@^0.2.1: version "0.2.1" @@ -3267,12 +3408,12 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-core-module@^2.5.0, is-core-module@^2.9.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" - integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== +is-core-module@^2.13.0, is-core-module@^2.5.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== dependencies: - has "^1.0.3" + hasown "^2.0.0" is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" @@ -3379,7 +3520,19 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== -jest-worker@^27.0.2, jest-worker@^27.4.5: +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-worker@^27.4.5: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== @@ -3388,10 +3541,25 @@ jest-worker@^27.0.2, jest-worker@^27.4.5: merge-stream "^2.0.0" supports-color "^8.0.0" -"jquery@>=1.7.1 <4.0.0", jquery@^3.5.0: - version "3.6.4" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.4.tgz#ba065c188142100be4833699852bf7c24dc0252f" - integrity sha512-v28EW9DWDFpzcD9O5iyJXg3R3+q+mET5JhnjJzQUZMHOv67bpSIHq81GEYpPNZHG+XXHsfSme3nxp/hndKEcsQ== +jest-worker@^29.4.3: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== + dependencies: + "@types/node" "*" + jest-util "^29.7.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jiti@^1.20.0: + version "1.21.0" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" + integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== + +"jquery@>=3.4.0 <4.0.0", jquery@^3.5.0: + version "3.7.1" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.7.1.tgz#083ef98927c9a6a74d05a6af02806566d16274de" + integrity sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg== js-base64@^2.4.9: version "2.6.4" @@ -3403,6 +3571,13 @@ js-tokens@^4.0.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -3443,7 +3618,7 @@ json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== -json5@^2.1.2, json5@^2.2.2: +json5@^2.1.2, json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== @@ -3463,23 +3638,18 @@ kind-of@^6.0.2, kind-of@^6.0.3: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -klona@^2.0.4, klona@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" - integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== - launch-editor@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.6.0.tgz#4c0c1a6ac126c572bd9ff9a30da1d2cae66defd7" - integrity sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ== + version "2.6.1" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.6.1.tgz#f259c9ef95cbc9425620bbbd14b468fcdb4ffe3c" + integrity sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw== dependencies: picocolors "^1.0.0" - shell-quote "^1.7.3" + shell-quote "^1.8.1" -lilconfig@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" - integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== +lilconfig@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.0.0.tgz#f8067feb033b5b74dab4602a5f5029420be749bc" + integrity sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== lines-and-columns@^1.1.6: version "1.2.4" @@ -3515,6 +3685,13 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +locate-path@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" + integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== + dependencies: + p-locate "^6.0.0" + lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" @@ -3588,10 +3765,15 @@ map-obj@^4.0.0: resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== +mdn-data@2.0.28: + version "2.0.28" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba" + integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== + +mdn-data@2.0.30: + version "2.0.30" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" + integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== media-typer@0.3.0: version "0.3.0" @@ -3599,11 +3781,11 @@ media-typer@0.3.0: integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== memfs@^3.4.3: - version "3.4.13" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.13.tgz#248a8bd239b3c240175cd5ec548de5227fc4f345" - integrity sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg== + version "3.6.0" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" + integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== dependencies: - fs-monkey "^1.0.3" + fs-monkey "^1.0.4" meow@^9.0.0: version "9.0.0" @@ -3679,9 +3861,9 @@ min-indent@^1.0.0: integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== mini-css-extract-plugin@^2.6.0: - version "2.7.5" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.5.tgz#afbb344977659ec0f1f6e050c7aea456b121cfc5" - integrity sha512-9HaR++0mlgom81s95vvNjxkg52n2b5s//3ZTI1EtzFb98awsLSivs2LMsVqnQ3ay0PVhqWcGNyDaTE961FOcjQ== + version "2.7.6" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz#282a3d38863fddcd2e0c220aaed5b90bc156564d" + integrity sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw== dependencies: schema-utils "^4.0.0" @@ -3764,10 +3946,10 @@ minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3: dependencies: yallist "^4.0.0" -minipass@^4.0.0: - version "4.2.5" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.5.tgz#9e0e5256f1e3513f8c34691dd68549e85b2c8ceb" - integrity sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q== +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== minizlib@^2.0.0, minizlib@^2.1.1: version "2.1.2" @@ -3806,14 +3988,14 @@ multicast-dns@^7.2.5: thunky "^1.0.2" nan@^2.13.2: - version "2.17.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" - integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== + version "2.18.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554" + integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w== -nanoid@^3.3.6: - version "3.3.6" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" - integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== negotiator@0.6.3, negotiator@^0.6.2: version "0.6.3" @@ -3858,10 +4040,10 @@ node-notifier@^9.0.0: uuid "^8.3.0" which "^2.0.2" -node-releases@^2.0.8: - version "2.0.10" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" - integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== node-sass@^7.0.1: version "7.0.3" @@ -3921,11 +4103,6 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== -normalize-url@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" @@ -3971,9 +4148,9 @@ object-assign@^4.0.1, object-assign@^4.1.1: integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== object-inspect@^1.9.0: - version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" @@ -4030,6 +4207,13 @@ p-limit@^2.0.0, p-limit@^2.2.0: dependencies: p-try "^2.0.0" +p-limit@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" + integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== + dependencies: + yocto-queue "^1.0.0" + p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" @@ -4044,6 +4228,13 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" +p-locate@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" + integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== + dependencies: + p-limit "^4.0.0" + p-map@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" @@ -4076,7 +4267,7 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-json@^5.0.0: +parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== @@ -4101,6 +4292,11 @@ path-exists@^4.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== +path-exists@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" + integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -4149,7 +4345,7 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -4183,6 +4379,13 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" +pkg-dir@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-7.0.0.tgz#8f0c08d6df4476756c5ff29b3282d0bab7517d11" + integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== + dependencies: + find-up "^6.3.0" + pkg-up@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" @@ -4195,129 +4398,129 @@ popper.js@^1.16.1: resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b" integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ== -postcss-calc@^8.2.3: - version "8.2.4" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" - integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== +postcss-calc@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-9.0.1.tgz#a744fd592438a93d6de0f1434c572670361eb6c6" + integrity sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ== dependencies: - postcss-selector-parser "^6.0.9" + postcss-selector-parser "^6.0.11" postcss-value-parser "^4.2.0" -postcss-colormin@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.1.tgz#86c27c26ed6ba00d96c79e08f3ffb418d1d1988f" - integrity sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ== +postcss-colormin@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-6.0.2.tgz#2af9ce753937b08e058dbc6879e4aedfab42806b" + integrity sha512-TXKOxs9LWcdYo5cgmcSHPkyrLAh86hX1ijmyy6J8SbOhyv6ua053M3ZAM/0j44UsnQNIWdl8gb5L7xX2htKeLw== dependencies: - browserslist "^4.21.4" + browserslist "^4.22.2" caniuse-api "^3.0.0" colord "^2.9.1" postcss-value-parser "^4.2.0" -postcss-convert-values@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz#04998bb9ba6b65aa31035d669a6af342c5f9d393" - integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA== +postcss-convert-values@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-6.0.2.tgz#c4a7509aeb1cc7ac3f6948fcbffc2bf8cac7c56a" + integrity sha512-aeBmaTnGQ+NUSVQT8aY0sKyAD/BaLJenEKZ03YK0JnDE1w1Rr8XShoxdal2V2H26xTJKr3v5haByOhJuyT4UYw== dependencies: - browserslist "^4.21.4" + browserslist "^4.22.2" postcss-value-parser "^4.2.0" -postcss-discard-comments@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz#8df5e81d2925af2780075840c1526f0660e53696" - integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== +postcss-discard-comments@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-6.0.1.tgz#46176212bd9c3e5f48aa4b8b4868786726c41d36" + integrity sha512-f1KYNPtqYLUeZGCHQPKzzFtsHaRuECe6jLakf/RjSRqvF5XHLZnM2+fXLhb8Qh/HBFHs3M4cSLb1k3B899RYIg== -postcss-discard-duplicates@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" - integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== +postcss-discard-duplicates@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.1.tgz#112b1a95948e69b3484fdd43584dda6930977939" + integrity sha512-1hvUs76HLYR8zkScbwyJ8oJEugfPV+WchpnA+26fpJ7Smzs51CzGBHC32RS03psuX/2l0l0UKh2StzNxOrKCYg== -postcss-discard-empty@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c" - integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== +postcss-discard-empty@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-6.0.1.tgz#b34cb45ec891246da4506b53e352390fdef126c4" + integrity sha512-yitcmKwmVWtNsrrRqGJ7/C0YRy53i0mjexBDQ9zYxDwTWVBgbU4+C9jIZLmQlTDT9zhml+u0OMFJh8+31krmOg== -postcss-discard-overridden@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" - integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== +postcss-discard-overridden@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-6.0.1.tgz#c63c559237758d74bc505452393a64dda9b19ef4" + integrity sha512-qs0ehZMMZpSESbRkw1+inkf51kak6OOzNRaoLd/U7Fatp0aN2HQ1rxGOrJvYcRAN9VpX8kUF13R2ofn8OlvFVA== -postcss-loader@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef" - integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q== +postcss-loader@^7.0.0: + version "7.3.4" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-7.3.4.tgz#aed9b79ce4ed7e9e89e56199d25ad1ec8f606209" + integrity sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A== dependencies: - cosmiconfig "^7.0.0" - klona "^2.0.5" - semver "^7.3.5" + cosmiconfig "^8.3.5" + jiti "^1.20.0" + semver "^7.5.4" -postcss-merge-longhand@^5.1.7: - version "5.1.7" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz#24a1bdf402d9ef0e70f568f39bdc0344d568fb16" - integrity sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ== +postcss-merge-longhand@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-6.0.2.tgz#cd4e83014851da59545e9a906b245615550f4064" + integrity sha512-+yfVB7gEM8SrCo9w2lCApKIEzrTKl5yS1F4yGhV3kSim6JzbfLGJyhR1B6X+6vOT0U33Mgx7iv4X9MVWuaSAfw== dependencies: postcss-value-parser "^4.2.0" - stylehacks "^5.1.1" + stylehacks "^6.0.2" -postcss-merge-rules@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz#2f26fa5cacb75b1402e213789f6766ae5e40313c" - integrity sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g== +postcss-merge-rules@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-6.0.3.tgz#08fcf714faaad75b1980ecd961b080ae2f8ddeb3" + integrity sha512-yfkDqSHGohy8sGYIJwBmIGDv4K4/WrJPX355XrxQb/CSsT4Kc/RxDi6akqn5s9bap85AWgv21ArcUWwWdGNSHA== dependencies: - browserslist "^4.21.4" + browserslist "^4.22.2" caniuse-api "^3.0.0" - cssnano-utils "^3.1.0" - postcss-selector-parser "^6.0.5" + cssnano-utils "^4.0.1" + postcss-selector-parser "^6.0.15" -postcss-minify-font-values@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" - integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== +postcss-minify-font-values@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-6.0.1.tgz#788eb930168be90225f3937f0b70aa19d8b532b2" + integrity sha512-tIwmF1zUPoN6xOtA/2FgVk1ZKrLcCvE0dpZLtzyyte0j9zUeB8RTbCqrHZGjJlxOvNWKMYtunLrrl7HPOiR46w== dependencies: postcss-value-parser "^4.2.0" -postcss-minify-gradients@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz#f1fe1b4f498134a5068240c2f25d46fcd236ba2c" - integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw== +postcss-minify-gradients@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-6.0.1.tgz#4faf1880b483dc37016658aa186b42194ff9b5bc" + integrity sha512-M1RJWVjd6IOLPl1hYiOd5HQHgpp6cvJVLrieQYS9y07Yo8itAr6jaekzJphaJFR0tcg4kRewCk3kna9uHBxn/w== dependencies: colord "^2.9.1" - cssnano-utils "^3.1.0" + cssnano-utils "^4.0.1" postcss-value-parser "^4.2.0" -postcss-minify-params@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz#c06a6c787128b3208b38c9364cfc40c8aa5d7352" - integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw== +postcss-minify-params@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-6.0.2.tgz#bd64af642fa5610281b8a9461598bbb91f92ae05" + integrity sha512-zwQtbrPEBDj+ApELZ6QylLf2/c5zmASoOuA4DzolyVGdV38iR2I5QRMsZcHkcdkZzxpN8RS4cN7LPskOkTwTZw== dependencies: - browserslist "^4.21.4" - cssnano-utils "^3.1.0" + browserslist "^4.22.2" + cssnano-utils "^4.0.1" postcss-value-parser "^4.2.0" -postcss-minify-selectors@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz#d4e7e6b46147b8117ea9325a915a801d5fe656c6" - integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== +postcss-minify-selectors@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-6.0.2.tgz#62065b38d3453ddc6627ba50e4f4a2154b031aa0" + integrity sha512-0b+m+w7OAvZejPQdN2GjsXLv5o0jqYHX3aoV0e7RBKPCsB7TYG5KKWBFhGnB/iP3213Ts8c5H4wLPLMm7z28Sg== dependencies: - postcss-selector-parser "^6.0.5" + postcss-selector-parser "^6.0.15" postcss-modules-extract-imports@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== -postcss-modules-local-by-default@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" - integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== +postcss-modules-local-by-default@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz#b08eb4f083050708998ba2c6061b50c2870ca524" + integrity sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA== dependencies: icss-utils "^5.0.0" postcss-selector-parser "^6.0.2" postcss-value-parser "^4.1.0" postcss-modules-scope@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" - integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== + version "3.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.1.0.tgz#fbfddfda93a31f310f1d152c2bb4d3f3c5592ee0" + integrity sha512-SaIbK8XW+MZbd0xHPf7kdfA/3eOt7vxJ72IRecn3EzuZVLr1r0orzf0MX/pN8m+NMDoo6X/SQd8oeKqGZd8PXg== dependencies: postcss-selector-parser "^6.0.4" @@ -4328,126 +4531,125 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-normalize-charset@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" - integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== +postcss-normalize-charset@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-6.0.1.tgz#5f70e1eb8bbdbcfcbed060ef70f179e8fef57d0c" + integrity sha512-aW5LbMNRZ+oDV57PF9K+WI1Z8MPnF+A8qbajg/T8PP126YrGX1f9IQx21GI2OlGz7XFJi/fNi0GTbY948XJtXg== -postcss-normalize-display-values@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" - integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== +postcss-normalize-display-values@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.1.tgz#ff9aa30bbf1283294bfd9cc8b6fb81ff060a7f2d" + integrity sha512-mc3vxp2bEuCb4LgCcmG1y6lKJu1Co8T+rKHrcbShJwUmKJiEl761qb/QQCfFwlrvSeET3jksolCR/RZuMURudw== dependencies: postcss-value-parser "^4.2.0" -postcss-normalize-positions@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz#ef97279d894087b59325b45c47f1e863daefbb92" - integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== +postcss-normalize-positions@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-6.0.1.tgz#41ffdc72994f024c6cd6e91dbfb40ab9abe6fe90" + integrity sha512-HRsq8u/0unKNvm0cvwxcOUEcakFXqZ41fv3FOdPn916XFUrympjr+03oaLkuZENz3HE9RrQE9yU0Xv43ThWjQg== dependencies: postcss-value-parser "^4.2.0" -postcss-normalize-repeat-style@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz#e9eb96805204f4766df66fd09ed2e13545420fb2" - integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== +postcss-normalize-repeat-style@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.1.tgz#55dc54b6f80305b280a379899a6626e0a07b04a8" + integrity sha512-Gbb2nmCy6tTiA7Sh2MBs3fj9W8swonk6lw+dFFeQT68B0Pzwp1kvisJQkdV6rbbMSd9brMlS8I8ts52tAGWmGQ== dependencies: postcss-value-parser "^4.2.0" -postcss-normalize-string@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" - integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== +postcss-normalize-string@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-6.0.1.tgz#7605e0fb4ec7bf2709709991d13a949e4419db1d" + integrity sha512-5Fhx/+xzALJD9EI26Aq23hXwmv97Zfy2VFrt5PLT8lAhnBIZvmaT5pQk+NuJ/GWj/QWaKSKbnoKDGLbV6qnhXg== dependencies: postcss-value-parser "^4.2.0" -postcss-normalize-timing-functions@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" - integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== +postcss-normalize-timing-functions@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.1.tgz#ef937b7ca2fd62ed0b46645ea5728b842a3600db" + integrity sha512-4zcczzHqmCU7L5dqTB9rzeqPWRMc0K2HoR+Bfl+FSMbqGBUcP5LRfgcH4BdRtLuzVQK1/FHdFoGT3F7rkEnY+g== dependencies: postcss-value-parser "^4.2.0" -postcss-normalize-unicode@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz#f67297fca3fea7f17e0d2caa40769afc487aa030" - integrity sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA== +postcss-normalize-unicode@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-6.0.2.tgz#361026744ff11baebaec771b60c2a5f36f274fd0" + integrity sha512-Ff2VdAYCTGyMUwpevTZPZ4w0+mPjbZzLLyoLh/RMpqUqeQKZ+xMm31hkxBavDcGKcxm6ACzGk0nBfZ8LZkStKA== dependencies: - browserslist "^4.21.4" + browserslist "^4.22.2" postcss-value-parser "^4.2.0" -postcss-normalize-url@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" - integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== +postcss-normalize-url@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-6.0.1.tgz#eae58cb4f5f9a4fa5bbbf6d4222dff534ad46186" + integrity sha512-jEXL15tXSvbjm0yzUV7FBiEXwhIa9H88JOXDGQzmcWoB4mSjZIsmtto066s2iW9FYuIrIF4k04HA2BKAOpbsaQ== dependencies: - normalize-url "^6.0.1" postcss-value-parser "^4.2.0" -postcss-normalize-whitespace@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa" - integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== +postcss-normalize-whitespace@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.1.tgz#b5933750b938814c028d3d2b2e5c0199e0037b53" + integrity sha512-76i3NpWf6bB8UHlVuLRxG4zW2YykF9CTEcq/9LGAiz2qBuX5cBStadkk0jSkg9a9TCIXbMQz7yzrygKoCW9JuA== dependencies: postcss-value-parser "^4.2.0" -postcss-ordered-values@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz#b6fd2bd10f937b23d86bc829c69e7732ce76ea38" - integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== +postcss-ordered-values@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-6.0.1.tgz#553e735d009065b362da93340e57f43d5f2d0fbc" + integrity sha512-XXbb1O/MW9HdEhnBxitZpPFbIvDgbo9NK4c/5bOfiKpnIGZDoL2xd7/e6jW5DYLsWxBbs+1nZEnVgnjnlFViaA== dependencies: - cssnano-utils "^3.1.0" + cssnano-utils "^4.0.1" postcss-value-parser "^4.2.0" -postcss-reduce-initial@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz#798cd77b3e033eae7105c18c9d371d989e1382d6" - integrity sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg== +postcss-reduce-initial@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-6.0.2.tgz#763d25902406c872264041df69f182eb15a5d9be" + integrity sha512-YGKalhNlCLcjcLvjU5nF8FyeCTkCO5UtvJEt0hrPZVCTtRLSOH4z00T1UntQPj4dUmIYZgMj8qK77JbSX95hSw== dependencies: - browserslist "^4.21.4" + browserslist "^4.22.2" caniuse-api "^3.0.0" -postcss-reduce-transforms@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" - integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== +postcss-reduce-transforms@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.1.tgz#7bf59d7c6e7066e3b18ef17237d2344bd3da6d75" + integrity sha512-fUbV81OkUe75JM+VYO1gr/IoA2b/dRiH6HvMwhrIBSUrxq3jNZQZitSnugcTLDi1KkQh1eR/zi+iyxviUNBkcQ== dependencies: postcss-value-parser "^4.2.0" -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.6, postcss-selector-parser@^6.0.9: - version "6.0.11" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc" - integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== +postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.15, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.6: + version "6.0.15" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz#11cc2b21eebc0b99ea374ffb9887174855a01535" + integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss-svgo@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" - integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== +postcss-svgo@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-6.0.2.tgz#dbc9d03e7f346bc0d82443078602a951e0214836" + integrity sha512-IH5R9SjkTkh0kfFOQDImyy1+mTCb+E830+9SV1O+AaDcoHTvfsvt6WwJeo7KwcHbFnevZVCsXhDmjFiGVuwqFQ== dependencies: postcss-value-parser "^4.2.0" - svgo "^2.7.0" + svgo "^3.2.0" -postcss-unique-selectors@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6" - integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== +postcss-unique-selectors@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-6.0.2.tgz#09a34a5a31a649d3e9bca5962af0616f39d071d2" + integrity sha512-8IZGQ94nechdG7Y9Sh9FlIY2b4uS8/k8kdKRX040XHsS3B6d1HrJAkXrBSsSu4SuARruSsUjW3nlSw8BHkaAYQ== dependencies: - postcss-selector-parser "^6.0.5" + postcss-selector-parser "^6.0.15" postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^8.2.14, postcss@^8.3.5, postcss@^8.4.19, postcss@^8.4.31: - version "8.4.31" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" - integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== +postcss@^8.2.14, postcss@^8.3.5, postcss@^8.4.21, postcss@^8.4.24, postcss@^8.4.31: + version "8.4.33" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.33.tgz#1378e859c9f69bf6f638b990a0212f43e2aaa742" + integrity sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg== dependencies: - nanoid "^3.3.6" + nanoid "^3.3.7" picocolors "^1.0.0" source-map-js "^1.0.2" @@ -4496,9 +4698,9 @@ psl@^1.1.28: integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== punycode@^2.1.0, punycode@^2.1.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== purgecss-webpack-plugin@^4.1.3: version "4.1.3" @@ -4629,9 +4831,9 @@ redeyed@~1.0.0: esprima "~3.0.0" regenerate-unicode-properties@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" - integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== + version "10.1.1" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" + integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== dependencies: regenerate "^1.4.2" @@ -4640,22 +4842,27 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.2: +regenerator-runtime@^0.13.9: version "0.13.11" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== -regenerator-transform@^0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56" - integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== dependencies: "@babel/runtime" "^7.8.4" regex-parser@^2.2.11: - version "2.2.11" - resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.11.tgz#3b37ec9049e19479806e878cabe7c1ca83ccfe58" - integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q== + version "2.3.0" + resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.3.0.tgz#4bb61461b1a19b8b913f3960364bb57887f920ee" + integrity sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg== regexpu-core@^5.3.1: version "5.3.2" @@ -4762,11 +4969,11 @@ resolve-url-loader@^5.0.0: source-map "0.6.1" resolve@^1.10.0, resolve@^1.14.2, resolve@^1.9.0: - version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== dependencies: - is-core-module "^2.9.0" + is-core-module "^2.13.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -4819,12 +5026,11 @@ sass-graph@^4.0.1: scss-tokenizer "^0.4.3" yargs "^17.2.1" -sass-loader@^12.6.0: - version "12.6.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.6.0.tgz#5148362c8e2cdd4b950f3c63ac5d16dbfed37bcb" - integrity sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA== +sass-loader@^13.0.0: + version "13.3.3" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.3.3.tgz#60df5e858788cffb1a3215e5b92e9cba61e7e133" + integrity sha512-mt5YN2F1MOZr3d/wBRcZxeFgwgkH44wVc2zohO2YF6JiOMkiXe4BYRZpSu2sO1g71mo/j16txzUhsKZlqjVGzA== dependencies: - klona "^2.0.4" neo-async "^2.6.2" schema-utils@^2.6.5: @@ -4836,24 +5042,24 @@ schema-utils@^2.6.5: ajv "^6.12.4" ajv-keywords "^3.5.2" -schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" - integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== +schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== dependencies: "@types/json-schema" "^7.0.8" ajv "^6.12.5" ajv-keywords "^3.5.2" -schema-utils@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.0.0.tgz#60331e9e3ae78ec5d16353c467c34b3a0a1d3df7" - integrity sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg== +schema-utils@^4.0.0, schema-utils@^4.0.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" + integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== dependencies: "@types/json-schema" "^7.0.9" - ajv "^8.8.0" + ajv "^8.9.0" ajv-formats "^2.1.1" - ajv-keywords "^5.0.0" + ajv-keywords "^5.1.0" scss-tokenizer@^0.4.3: version "0.4.3" @@ -4882,10 +5088,11 @@ selectize@^0.12.6: sifter "^0.5.1" selfsigned@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.1.1.tgz#18a7613d714c0cd3385c48af0075abf3f266af61" - integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== + version "2.4.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" + integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== dependencies: + "@types/node-forge" "^1.3.0" node-forge "^1" "semver@2 || 3 || 4 || 5": @@ -4893,12 +5100,12 @@ selfsigned@^2.1.1: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== -semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: +semver@^6.0.0, semver@^6.3.1: version "6.3.1" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.8: +semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.8, semver@^7.5.4: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -4924,7 +5131,7 @@ send@0.18.0: range-parser "~1.2.1" statuses "2.0.1" -serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: +serialize-javascript@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c" integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== @@ -4959,6 +5166,16 @@ set-blocking@^2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== +set-function-length@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed" + integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ== + dependencies: + define-data-property "^1.1.1" + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + setprototypeof@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" @@ -4988,10 +5205,10 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shell-quote@^1.7.3: - version "1.8.0" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.0.tgz#20d078d0eaf71d54f43bd2ba14a1b5b9bfa5c8ba" - integrity sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ== +shell-quote@^1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== shellwords@^0.1.1: version "0.1.1" @@ -5054,7 +5271,7 @@ socks@^2.6.2: ip "^2.0.0" smart-buffer "^4.2.0" -source-map-js@^1.0.2: +source-map-js@^1.0.1, source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== @@ -5067,7 +5284,7 @@ source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1: +source-map@0.6.1, source-map@^0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== @@ -5099,9 +5316,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.13" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz#7189a474c46f8d47c7b0da4b987bb45e908bd2d5" - integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== + version "3.0.16" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz#a14f64e0954f6e25cc6587bd4f392522db0d998f" + integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw== spdy-transport@^3.0.0: version "3.0.0" @@ -5127,9 +5344,9 @@ spdy@^4.0.2: spdy-transport "^3.0.0" sshpk@^1.7.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" - integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== + version "1.18.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028" + integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ== dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -5148,11 +5365,6 @@ ssri@^8.0.0, ssri@^8.0.1: dependencies: minipass "^3.1.1" -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - stackframe@^1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" @@ -5218,17 +5430,17 @@ strip-indent@^3.0.0: min-indent "^1.0.0" style-loader@^3.3.0: - version "3.3.2" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.2.tgz#eaebca714d9e462c19aa1e3599057bc363924899" - integrity sha512-RHs/vcrKdQK8wZliteNK4NKzxvLBzpuHMqYmUVWeKa6MkaIQ97ZTOS0b+zapZhy6GcrgWnvWYCMHRirC3FsUmw== + version "3.3.3" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.3.tgz#bba8daac19930169c0c9c96706749a597ae3acff" + integrity sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw== -stylehacks@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.1.tgz#7934a34eb59d7152149fa69d6e9e56f2fc34bcc9" - integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw== +stylehacks@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-6.0.2.tgz#5bf2654561752547d4548765f35c9a49659b3742" + integrity sha512-00zvJGnCu64EpMjX8b5iCZ3us2Ptyw8+toEkb92VdmkEaRaSGBNKAoK6aWZckhXxmQP8zWiTaFaiMGIU8Ve8sg== dependencies: - browserslist "^4.21.4" - postcss-selector-parser "^6.0.4" + browserslist "^4.22.2" + postcss-selector-parser "^6.0.15" supports-color@^5.3.0: version "5.5.0" @@ -5256,18 +5468,18 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -svgo@^2.7.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" - integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== +svgo@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.2.0.tgz#7a5dff2938d8c6096e00295c2390e8e652fa805d" + integrity sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ== dependencies: "@trysound/sax" "0.2.0" commander "^7.2.0" - css-select "^4.1.3" - css-tree "^1.1.3" - csso "^4.2.0" + css-select "^5.1.0" + css-tree "^2.3.1" + css-what "^6.1.0" + csso "^5.0.5" picocolors "^1.0.0" - stable "^0.1.8" sync-rpc@^1.3.6: version "1.3.6" @@ -5276,41 +5488,41 @@ sync-rpc@^1.3.6: dependencies: get-port "^3.1.0" -tapable@^2.1.1, tapable@^2.2.0: +tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== tar@^6.0.2, tar@^6.1.2: - version "6.1.13" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.13.tgz#46e22529000f612180601a6fe0680e7da508847b" - integrity sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw== + version "6.2.0" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73" + integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0" - minipass "^4.0.0" + minipass "^5.0.0" minizlib "^2.1.1" mkdirp "^1.0.3" yallist "^4.0.0" -terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.3.0: - version "5.3.7" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz#ef760632d24991760f339fe9290deb936ad1ffc7" - integrity sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw== +terser-webpack-plugin@^5.3.0, terser-webpack-plugin@^5.3.7: + version "5.3.10" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" + integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== dependencies: - "@jridgewell/trace-mapping" "^0.3.17" + "@jridgewell/trace-mapping" "^0.3.20" jest-worker "^27.4.5" schema-utils "^3.1.1" serialize-javascript "^6.0.1" - terser "^5.16.5" + terser "^5.26.0" -terser@^5.16.5: - version "5.16.8" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.8.tgz#ccde583dabe71df3f4ed02b65eb6532e0fae15d5" - integrity sha512-QI5g1E/ef7d+PsDifb+a6nnVgC4F22Bg6T0xrBrz6iloVB4PUkkunp6V8nzoOOZJIzjWVdAGqCdlKlhLq/TbIA== +terser@^5.26.0: + version "5.26.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.26.0.tgz#ee9f05d929f4189a9c28a0feb889d96d50126fe1" + integrity sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ== dependencies: - "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" commander "^2.20.0" source-map-support "~0.5.20" @@ -5398,6 +5610,11 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" @@ -5440,10 +5657,10 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -update-browserslist-db@^1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" - integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== dependencies: escalade "^3.1.1" picocolors "^1.0.0" @@ -5529,7 +5746,7 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" -webpack-cli@^4.9.1: +webpack-cli@^4.10.0: version "4.10.0" resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31" integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w== @@ -5559,9 +5776,9 @@ webpack-dev-middleware@^5.3.1: schema-utils "^4.0.0" webpack-dev-server@^4.8.0: - version "4.13.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.13.1.tgz#6417a9b5d2f528e7644b68d6ed335e392dccffe8" - integrity sha512-5tWg00bnWbYgkN+pd5yISQKDejRBYGEw15RaEEslH+zdbNDxxaZvEAO2WulaSaFKb5n3YG8JXsGaDsut1D0xdA== + version "4.15.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz#8944b29c12760b3a45bdaa70799b17cb91b03df7" + integrity sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA== dependencies: "@types/bonjour" "^3.5.9" "@types/connect-history-api-fallback" "^1.3.5" @@ -5569,7 +5786,7 @@ webpack-dev-server@^4.8.0: "@types/serve-index" "^1.9.1" "@types/serve-static" "^1.13.10" "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.1" + "@types/ws" "^8.5.5" ansi-html-community "^0.0.8" bonjour-service "^1.0.11" chokidar "^3.5.3" @@ -5595,14 +5812,15 @@ webpack-dev-server@^4.8.0: ws "^8.13.0" webpack-merge@^5.7.3: - version "5.8.0" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" - integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== + version "5.10.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" + integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== dependencies: clone-deep "^4.0.1" + flat "^5.0.2" wildcard "^2.0.0" -webpack-notifier@^1.6.0: +webpack-notifier@^1.15.0: version "1.15.0" resolved "https://registry.yarnpkg.com/webpack-notifier/-/webpack-notifier-1.15.0.tgz#72644a1a4ec96b3528704d28f79da5e70048e8ee" integrity sha512-N2V8UMgRB5komdXQRavBsRpw0hPhJq2/SWNOGuhrXpIgRhcMexzkGQysUyGStHLV5hkUlgpRiF7IUXoBqyMmzQ== @@ -5615,22 +5833,22 @@ webpack-sources@^3.2.0, webpack-sources@^3.2.3: resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@^5.4.0, webpack@^5.72: - version "5.76.3" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.76.3.tgz#dffdc72c8950e5b032fddad9c4452e7787d2f489" - integrity sha512-18Qv7uGPU8b2vqGeEEObnfICyw2g39CHlDEK4I7NK13LOur1d0HGmGNKGT58Eluwddpn3oEejwvBPoP4M7/KSA== +webpack@^5.4.0, webpack@^5.74.0: + version "5.89.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.89.0.tgz#56b8bf9a34356e93a6625770006490bf3a7f32dc" + integrity sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw== dependencies: "@types/eslint-scope" "^3.7.3" - "@types/estree" "^0.0.51" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" + "@types/estree" "^1.0.0" + "@webassemblyjs/ast" "^1.11.5" + "@webassemblyjs/wasm-edit" "^1.11.5" + "@webassemblyjs/wasm-parser" "^1.11.5" acorn "^8.7.1" - acorn-import-assertions "^1.7.6" + acorn-import-assertions "^1.9.0" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.10.0" - es-module-lexer "^0.9.0" + enhanced-resolve "^5.15.0" + es-module-lexer "^1.2.1" eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" @@ -5639,9 +5857,9 @@ webpack@^5.4.0, webpack@^5.72: loader-runner "^4.2.0" mime-types "^2.1.27" neo-async "^2.6.2" - schema-utils "^3.1.0" + schema-utils "^3.2.0" tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" + terser-webpack-plugin "^5.3.7" watchpack "^2.4.0" webpack-sources "^3.2.3" @@ -5660,9 +5878,9 @@ websocket-extensions@>=0.1.1: integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== + version "2.0.1" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" + integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== which@^2.0.1, which@^2.0.2: version "2.0.2" @@ -5679,9 +5897,9 @@ wide-align@^1.1.2, wide-align@^1.1.5: string-width "^1.0.2 || 2 || 3 || 4" wildcard@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" - integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== wordwrap@~0.0.2: version "0.0.3" @@ -5712,9 +5930,9 @@ wrappy@1: integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== ws@^8.13.0: - version "8.13.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" - integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== + version "8.16.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" + integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== y18n@^4.0.0: version "4.0.3" @@ -5736,11 +5954,6 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0, yaml@^1.10.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - yargs-parser@^18.1.2: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" @@ -5777,9 +5990,9 @@ yargs@^15.3.1: yargs-parser "^18.1.2" yargs@^17.2.1: - version "17.7.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.1.tgz#34a77645201d1a8fc5213ace787c220eabbd0967" - integrity sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw== + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== dependencies: cliui "^8.0.1" escalade "^3.1.1" @@ -5788,3 +6001,8 @@ yargs@^17.2.1: string-width "^4.2.3" y18n "^5.0.5" yargs-parser "^21.1.1" + +yocto-queue@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" + integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==