From 806e5918846b1e1bd62efae9584ae48a0cd7d44f Mon Sep 17 00:00:00 2001 From: Roy Ronalds Date: Sat, 28 Jan 2023 21:49:55 -0500 Subject: [PATCH 01/22] Add static builds, audit and php build, lighthouse, test for smarty plugin. --- .github/workflows/audit.yml | 49 ++++++++++++++++++++++ .github/workflows/php.yml | 5 +++ .gitignore | 6 +++ .lighthouserc.js | 47 +++++++++++++++++++++ Makefile | 33 ++++++++++----- deploy/check.php | 27 +++--------- deploy/checkbase.php | 33 +++++++++++++++ deploy/lib/plugins/function.cachebust.php | 2 +- deploy/resources.build.php | 15 +++---- deploy/resources.template.php | 3 +- deploy/tests/functional/test_ratchets.py | 2 +- deploy/tests/unit/SmartyPluginUnitTest.php | 6 +-- deploy/www/intro-controller.php | 45 ++++++++++++++++++++ deploy/www/login-controller.php | 45 ++++++++++++++++++++ deploy/www/signup-controller.php | 45 ++++++++++++++++++++ 15 files changed, 317 insertions(+), 46 deletions(-) create mode 100644 .github/workflows/audit.yml create mode 100644 .lighthouserc.js create mode 100644 deploy/checkbase.php create mode 100644 deploy/www/intro-controller.php create mode 100644 deploy/www/login-controller.php create mode 100644 deploy/www/signup-controller.php diff --git a/.github/workflows/audit.yml b/.github/workflows/audit.yml new file mode 100644 index 000000000..8c0c21287 --- /dev/null +++ b/.github/workflows/audit.yml @@ -0,0 +1,49 @@ +name: Audit + +on: [pull_request] + +env: + WEBAPP_NAME: ninjawars # set this to your application's name + WEBAPP_PACKAGE_PATH: "." # set this to the path to your web app project, defaults to the repository root + NODE_VERSION: "16.13.1" # set this to the node version to use + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_READ_TOKEN }} + CI: false +jobs: + lighthouseci: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v1 + with: + node-version: ${{ env.NODE_VERSION }} + #always-auth: true + #registry-url: "https://npm.pkg.github.com" + - name: Yarn packages audit + run: yarn npm audit + continue-on-error: true + - name: Install, configure, install the lighthouse auditor + run: | + # Check the node version + node --version + corepack enable + yarn install --immutable + # I guess this is still required? + # corepack enable should have made this unnecessary + # Install the project, then... + # yarn workspaces run init-project + yarn init-project + - name: Build + run: | + # Stop eslint from failing the build + rm .eslintrc.json + yarn build + - name: Audit URLs using Lighthouse + uses: treosh/lighthouse-ci-action@v8 + with: + urls: | + http://localhost:7474/ + http://localhost:7474/intro + budgetPath: ./.budget.json # test performance budgets + uploadArtifacts: true # save results as an action artifacts + temporaryPublicStorage: true # upload lighthouse report to the temporary storage diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml index f5b6be0cd..3e87c5738 100644 --- a/.github/workflows/php.yml +++ b/.github/workflows/php.yml @@ -56,6 +56,11 @@ jobs: # Add a test script to composer.json, for instance: "test": "vendor/bin/phpunit" # Docs: https://getcomposer.org/doc/articles/scripts.md + - name: Run build + run: | + ln -s ./resources.build.php ./deploy/resources.php + make build + - name: Run test suite run: | ln -s ./resources.build.php ./deploy/resources.php diff --git a/.gitignore b/.gitignore index dcca8f12d..0eaf5d34d 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,12 @@ deploy/model/orm/* !deploy/model/orm/.gitkeep !deploy/sql/.gitkeep +# Static build result files +deploy/www/index.html +deploy/www/intro.html +deploy/www/signup.html +deploy/www/login.html + #ignore developer specific GNU make configuration for this project CONFIG diff --git a/.lighthouserc.js b/.lighthouserc.js new file mode 100644 index 000000000..9dca473fe --- /dev/null +++ b/.lighthouserc.js @@ -0,0 +1,47 @@ +module.exports = { + ci: { + collect: { + staticDistDir: 'deploy/www', + isSinglePageApplication: true, + numberOfRuns: 1 + }, + upload: { + // target: 'filesystem' + target: 'temporary-public-storage' + }, + assert: { + "preset": "lighthouse:no-pwa", // Change this to "lighthouse:recommended" when we move to a PWA in the future + assertions: { + "maskable-icon": "off", + "service-worker": "off", + "tap-targets": "off", + "apple-touch-icon": "off", + "first-contentful-paint": ['warn', { minScore: 0.9 }], + "interactive": ['warn', { minScore: 0.9 }], + "last-contentful-paint": ['warn'], + "largest-contentful-paint": ['warn'], + "first-meaningful-paint": ['warn'], + "label": ['warn'], + "max-potential-fid": ['warn', { minScore: 0.9 }], + //"render-blocking-resources": ['warn', { minScore: 0.4 }], + "speed-index": ['warn', { minScore: 0.9 }], + "mainthread-work-breakdown": ['warn', { minScore: 0.9 }], + "legacy-javascript": ['warn', { auditRan: 1 }], + "duplicated-javascript": ['warn'], + "unused-javascript": ['warn', { maxLength: 4 }], + "unminified-javascript": ['warn'], + "uses-long-cache-ttl": ['warn', { maxLength: 13 }], + "uses-rel-preconnect": ['warn'], + "render-blocking-resources": ['error', { maxLength: 2 }], + "font-size": ['warn'], + "bootup-time": ['warn', { minScore: 0.65 }], + "button-name": ['warn', { minScore: 0.65 }], + "link-name": ['warn', { minScore: 0.65 }], + "color-contrast": ['warn', { minScore: 0.65 }], + "robots-txt": ['warn'], + "first-cpu-idle": ['warn', { minScore: 0.85 }], + "meta-description": ['warn'], + } + }, + } +} diff --git a/Makefile b/Makefile index bde2c39bc..4a139db08 100644 --- a/Makefile +++ b/Makefile @@ -25,25 +25,31 @@ ifndef TESTFILE TESTFILE= endif -build: dep create-structure link-deps - -create-structure: +create-directories: + @echo "Do this with sudo due to permissions" mkdir -p $(JS) - rm -rf ./deploy/templates/compiled/* ./deploy/templates/cache/* mkdir -p ./deploy/templates/compiled ./deploy/templates/cache ./deploy/resources/logs/ - chmod -R ugo+rwX ./deploy/templates/compiled ./deploy/templates/cache touch ./deploy/resources/logs/deity.log touch ./deploy/resources/logs/emails.log - -link-deps: +build: dep + @echo "Don't forget to update nginx configs as necessary." + @echo "Including updating the php to retain login sessions longer." + cp -upn ./deploy/resources.build.php ./deploy/resources.php || true + echo "Note that this does not overwrite existing resources.php" + echo "Check that the webserver user has permissions to the script!" @ln -sf "$(RELATIVE_COMPONENTS)jquery/jquery.min.js" "$(JS)" @ln -sf "$(RELATIVE_COMPONENTS)jquery/jquery.min.map" "$(JS)" @ln -sf "$(RELATIVE_COMPONENTS)jquery-timeago/jquery.timeago.js" "$(JS)" @ln -sf "$(RELATIVE_COMPONENTS)jquery-linkify/jquery.linkify.js" "$(JS)" @ln -sf "$(RELATIVE_VENDOR)twbs/bootstrap/dist/css/bootstrap.min.css" "$(CSS)" @ln -sf "$(RELATIVE_VENDOR)twbs/bootstrap/dist/js/bootstrap.min.js" "$(JS)" - + make check-base + php deploy/www/intro-controller.php > deploy/www/intro.html + php deploy/www/front-controller.php > deploy/www/index.html + php deploy/www/login-controller.php > deploy/www/login.html + php deploy/www/signup-controller.php > deploy/www/signup.html + @echo "Built front controller to static deploy/www/index.html file, as well as intro.html, login.html, and signup.html" dep: @$(COMPOSER) install @@ -51,12 +57,14 @@ dep: check: pre-test +check-base: + php deploy/checkbase.php + js-deps: node -v corepack enable echo "corepack enable DONE. Totally sidesteps having to install a yarn version" yarn -v - corepack enable yarn install --immutable preconfig: @@ -69,7 +77,7 @@ postcheck: php ./deploy/check.php echo "Check that the webserver user has permissions to the script!" -install: preconfig build postcheck +install: preconfig create-directories build postcheck install-admin: preconfig build start-chat writable postcheck @@ -109,12 +117,16 @@ install-python: python-install install-webserver: apt install nginx +restart-webserver: + service nginx restart + install-database-client: apt install postgresql-client start-chat: touch ./deploy/resources/logs/ninjawars.chat-server.log chown ${WEBUSER} ./deploy/resources/logs/ninjawars.chat-server.log + chmod ugo+w ./deploy/resources/logs/ninjawars.chat-server.log nohup php bin/chat-server.php > ./deploy/resources/logs/ninjawars.chat-server.log 2>&1 & browse: @@ -155,7 +167,6 @@ check-for-syntax-errors: @find "./deploy/www/" -name "*.php" -exec php -l {} \;|grep -v "No syntax errors" || true test-unit: check-for-syntax-errors - @$(TEST_RUNNER) $(CC_FLAG) --testsuite Unit test-quick: check-for-syntax-errors diff --git a/deploy/check.php b/deploy/check.php index 39ae4725e..8db842899 100644 --- a/deploy/check.php +++ b/deploy/check.php @@ -1,29 +1,13 @@ self::EXISTING_FILE]); - $this->assertNotEquals(self::EXISTING_FILE, $result); - $this->assertGreaterThan(strlen(self::EXISTING_FILE), strlen($result)); + $result = smarty_function_cachebust(['file' => self::EXISTING_FILE]); + $this->assertNotEmpty($result); + $this->assertStringContainsString(self::EXISTING_FILE, $result); } public function testCachebustNegative() { diff --git a/deploy/www/intro-controller.php b/deploy/www/intro-controller.php new file mode 100644 index 000000000..ae84b7c93 --- /dev/null +++ b/deploy/www/intro-controller.php @@ -0,0 +1,45 @@ +get('player_id'); + return $player_id ? Player::find($player_id) : null; + }; + + $container['session'] = function ($c) { + return SessionFactory::getSession(); + }; + + // Update the activity of the page viewer in the database. + RequestWrapper::init(); + + // get the request information to parse the route + $response = Router::route(Request::create( + '/intro', + 'GET', + ), $container); + + if ($response instanceof Response) { + $response->send(); + } else { + throw new \RuntimeException('Route returned something other than a Response'); + } +} catch (RouteNotFoundException $e) { + Router::respond404(); +} diff --git a/deploy/www/login-controller.php b/deploy/www/login-controller.php new file mode 100644 index 000000000..dfd300c2d --- /dev/null +++ b/deploy/www/login-controller.php @@ -0,0 +1,45 @@ +get('player_id'); + return $player_id ? Player::find($player_id) : null; + }; + + $container['session'] = function ($c) { + return SessionFactory::getSession(); + }; + + // Update the activity of the page viewer in the database. + RequestWrapper::init(); + + // get the request information to parse the route + $response = Router::route(Request::create( + '/login', + 'GET', + ), $container); + + if ($response instanceof Response) { + $response->send(); + } else { + throw new \RuntimeException('Route returned something other than a Response'); + } +} catch (RouteNotFoundException $e) { + Router::respond404(); +} diff --git a/deploy/www/signup-controller.php b/deploy/www/signup-controller.php new file mode 100644 index 000000000..775061024 --- /dev/null +++ b/deploy/www/signup-controller.php @@ -0,0 +1,45 @@ +get('player_id'); + return $player_id ? Player::find($player_id) : null; + }; + + $container['session'] = function ($c) { + return SessionFactory::getSession(); + }; + + // Update the activity of the page viewer in the database. + RequestWrapper::init(); + + // get the request information to parse the route + $response = Router::route(Request::create( + '/signup', + 'GET', + ), $container); + + if ($response instanceof Response) { + $response->send(); + } else { + throw new \RuntimeException('Route returned something other than a Response'); + } +} catch (RouteNotFoundException $e) { + Router::respond404(); +} From 90e2b86c06514b4124f5d6fd2d09aec854db6c2b Mon Sep 17 00:00:00 2001 From: Roy Ronalds Date: Sat, 28 Jan 2023 21:50:41 -0500 Subject: [PATCH 02/22] Package.json updates for build and serve static. --- package.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 364e79992..9d006f988 100644 --- a/package.json +++ b/package.json @@ -7,9 +7,11 @@ "doc": "docs" }, "scripts": { + "init-project": "echo 'todo for config'", "lint": "eslint --ext .jsx,.js deploy/www/js", "prepare-unit-test-ci": "echo 'no-op for now'", "build": "yarn time && make build && yarn time", + "serve": "yarn dlx serve deploy/www/ -p 7474", "start": "yarn time && make build && yarn time", "post-deploy": "php deploy/deployed_scripts/resetcache.php", "watch": "livereload ./deploy/* ./deploy/www/* ./deploy/templates/* ./deploy/lib/control/* --debug", @@ -42,7 +44,7 @@ "url": "https://github.com/BitLucid/ninjawars/issues" }, "engines": { - "node": ">=16.0.0" + "node": ">=16.13.0" }, "homepage": "https://github.com/BitLucid/ninjawars#readme", "devDependencies": { @@ -67,4 +69,4 @@ "sinon": "^15.0.1" }, "packageManager": "yarn@3.4.1" -} +} \ No newline at end of file From 35507817d4845a0a33a0d85b8ed23180c0394ab8 Mon Sep 17 00:00:00 2001 From: "deepsource-autofix[bot]" <62050782+deepsource-autofix[bot]@users.noreply.github.com> Date: Sun, 29 Jan 2023 02:51:08 +0000 Subject: [PATCH 03/22] Format code with php-cs-fixer --- deploy/lib/extensions/Nmail.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/lib/extensions/Nmail.class.php b/deploy/lib/extensions/Nmail.class.php index 6b435ce5e..61ce19d39 100644 --- a/deploy/lib/extensions/Nmail.class.php +++ b/deploy/lib/extensions/Nmail.class.php @@ -102,7 +102,7 @@ public function send() { //Optionally add any attachments // ->attach(Swift_Attachment::fromPath('my-document.pdf')) - ; + ; if ($this->reply_to) { $this->message->setReplyTo($this->reply_to); From 8db12635c73f0657ab652861889be53392206ba1 Mon Sep 17 00:00:00 2001 From: Roy Ronalds Date: Sat, 28 Jan 2023 23:13:56 -0500 Subject: [PATCH 04/22] Provide check for database connection. --- deploy/lib/control/SignupController.php | 10 ++++++++++ deploy/lib/data/lib_db.php | 12 ++++++++++++ 2 files changed, 22 insertions(+) diff --git a/deploy/lib/control/SignupController.php b/deploy/lib/control/SignupController.php index c262d8e43..e531be589 100644 --- a/deploy/lib/control/SignupController.php +++ b/deploy/lib/control/SignupController.php @@ -237,6 +237,16 @@ private function renderException(\Exception $p_exception, $p_request) { * @return String[][] An array of class attributes indexed by class key */ private function class_choices() { + // If there is not database connection + if (!db_check_connection()) { + // return the classes + return [ + 'viper' => ['class_name' => 'Viper', 'expertise' => 'Poison'], + 'crane' => ['class_name' => 'Crane', 'expertise' => 'Speed'], + 'dragon' => ['class_name' => 'Dragon', 'expertise' => 'Healing'], + 'tiger' => ['class_name' => 'Tiger', 'expertise' => 'Strength'], + ]; + } $activeClasses = query_array('SELECT identity, class_name, class_note AS expertise FROM class WHERE class_active'); $classes = []; diff --git a/deploy/lib/data/lib_db.php b/deploy/lib/data/lib_db.php index d181a32f0..fa4d441a8 100644 --- a/deploy/lib/data/lib_db.php +++ b/deploy/lib/data/lib_db.php @@ -7,6 +7,18 @@ use NinjaWars\core\data\DatabaseConnection; + +function db_check_connection(): bool +{ + try { + DatabaseConnection::getInstance(); + return true; + } catch (PDOException $e) { + return false; + } +} + + /** * Run bound queries on the database. * From 5831a519da42a312e63a90487733194c7331b9a1 Mon Sep 17 00:00:00 2001 From: Roy Ronalds Date: Sat, 28 Jan 2023 23:16:20 -0500 Subject: [PATCH 05/22] Update format of class static data. --- deploy/lib/control/SignupController.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/deploy/lib/control/SignupController.php b/deploy/lib/control/SignupController.php index e531be589..3d0b4178c 100644 --- a/deploy/lib/control/SignupController.php +++ b/deploy/lib/control/SignupController.php @@ -239,12 +239,12 @@ private function renderException(\Exception $p_exception, $p_request) { private function class_choices() { // If there is not database connection if (!db_check_connection()) { - // return the classes + // return static class data return [ - 'viper' => ['class_name' => 'Viper', 'expertise' => 'Poison'], - 'crane' => ['class_name' => 'Crane', 'expertise' => 'Speed'], - 'dragon' => ['class_name' => 'Dragon', 'expertise' => 'Healing'], - 'tiger' => ['class_name' => 'Tiger', 'expertise' => 'Strength'], + 'viper' => ['name' => 'Viper', 'expertise' => 'Poison'], + 'crane' => ['name' => 'Crane', 'expertise' => 'Speed'], + 'dragon' => ['name' => 'Dragon', 'expertise' => 'Healing'], + 'tiger' => ['name' => 'Tiger', 'expertise' => 'Strength'], ]; } $activeClasses = query_array('SELECT identity, class_name, class_note AS expertise FROM class WHERE class_active'); From a1ae58401b021e95adaca6594cc25c262b0ff187 Mon Sep 17 00:00:00 2001 From: "deepsource-autofix[bot]" <62050782+deepsource-autofix[bot]@users.noreply.github.com> Date: Sun, 29 Jan 2023 04:16:58 +0000 Subject: [PATCH 06/22] Format code with php-cs-fixer --- deploy/lib/control/SignupController.php | 2 +- deploy/lib/data/lib_db.php | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/deploy/lib/control/SignupController.php b/deploy/lib/control/SignupController.php index 3d0b4178c..260564bb7 100644 --- a/deploy/lib/control/SignupController.php +++ b/deploy/lib/control/SignupController.php @@ -239,7 +239,7 @@ private function renderException(\Exception $p_exception, $p_request) { private function class_choices() { // If there is not database connection if (!db_check_connection()) { - // return static class data + // return static class data return [ 'viper' => ['name' => 'Viper', 'expertise' => 'Poison'], 'crane' => ['name' => 'Crane', 'expertise' => 'Speed'], diff --git a/deploy/lib/data/lib_db.php b/deploy/lib/data/lib_db.php index fa4d441a8..e48cf2439 100644 --- a/deploy/lib/data/lib_db.php +++ b/deploy/lib/data/lib_db.php @@ -7,9 +7,7 @@ use NinjaWars\core\data\DatabaseConnection; - -function db_check_connection(): bool -{ +function db_check_connection(): bool { try { DatabaseConnection::getInstance(); return true; From 30a78982754ef71c57797bba4a8167026153764e Mon Sep 17 00:00:00 2001 From: Roy Ronalds Date: Sat, 28 Jan 2023 23:31:12 -0500 Subject: [PATCH 07/22] Simplify gitkeep nonremoval while running make clean. --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 4a139db08..73b39b7be 100644 --- a/Makefile +++ b/Makefile @@ -212,7 +212,7 @@ clean: @rm -f "$(JS)jquery.linkify.js" @rm -f "$(JS)jquery-linkify.min.js" @rm -f "/tmp/nw" - @cd ./deploy/templates/cache && rm -v ./(".gitkeep") && cd - + @rm -rf ./deploy/templates/cache/* && touch ./deploy/templates/cache/.gitkeep @rm -rf ./deploy/templates/compiled ./deploy/resources/logs/deity.log ./deploy/resources/logs/emails.log @rm -rf ./deploy/www/index.html ./deploy/www/intro.html ./deploy/www/login.html ./deploy/www/signup.html @echo "Cleaned up" From 061fff6d03ce552c6b317831b0f845637699c4bf Mon Sep 17 00:00:00 2001 From: Roy Ronalds Date: Sat, 28 Jan 2023 23:37:09 -0500 Subject: [PATCH 08/22] Fix deprecated use of filter constant. --- deploy/lib/Filter.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/deploy/lib/Filter.php b/deploy/lib/Filter.php index e1e09ae00..f703fc487 100644 --- a/deploy/lib/Filter.php +++ b/deploy/lib/Filter.php @@ -25,14 +25,19 @@ public static function toInt($dirty) { // Cast anything that can be non-destructively cast. } + public static function filter_string_polyfill(string $string): string { + $str = preg_replace('/\x00|<[^>]*>?/', '', $string); + return str_replace(["'", '"'], [''', '"'], $str); + } + /** * Strip low and high ascii characters, leave standard keyboard characters */ public static function toSimple($dirty) { - return filter_var( + return static::filter_string_polyfill(filter_var( str_replace(['"', '\''], '', $dirty), - FILTER_SANITIZE_STRING, + FILTER_SANITIZE_FULL_SPECIAL_CHARS, FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH - ); + )); } } From 2d77451c599ab714ff3b8593ffcd402d95c44cb6 Mon Sep 17 00:00:00 2001 From: Roy Ronalds Date: Sun, 29 Jan 2023 00:06:01 -0500 Subject: [PATCH 09/22] Test filtering fixes. --- deploy/lib/Filter.php | 37 +++++++++++++++---------- deploy/lib/control/SignupController.php | 10 +++---- deploy/tests/unit/environment_test.php | 37 ++++++++++++++++--------- 3 files changed, 51 insertions(+), 33 deletions(-) diff --git a/deploy/lib/Filter.php b/deploy/lib/Filter.php index f703fc487..eb6e45b4b 100644 --- a/deploy/lib/Filter.php +++ b/deploy/lib/Filter.php @@ -5,7 +5,8 @@ /** * Filter & Sanitation wrappers */ -class Filter { +class Filter +{ /** * Return a casting with a result of a positive int, or else zero. * @@ -13,31 +14,37 @@ class Filter { * this function will cast strings with leading integers to those integers. * E.g. 555'sql-injection becomes 555 */ - public static function toNonNegativeInt($num) { + public static function toNonNegativeInt($num) + { return ((int)$num == $num && (int)$num > 0 ? (int)$num : 0); } /** * Casts to an integer anything that can be cast that way non-destructively, otherwise null. */ - public static function toInt($dirty) { + public static function toInt($dirty) + { return $dirty == (int) $dirty ? (int) $dirty : null; // Cast anything that can be non-destructively cast. } - public static function filter_string_polyfill(string $string): string { - $str = preg_replace('/\x00|<[^>]*>?/', '', $string); - return str_replace(["'", '"'], [''', '"'], $str); + public static function toAlphaNumeric($dirty) + { + return preg_replace('/[^a-zA-Z0-9]/', '', $dirty); } - /** - * Strip low and high ascii characters, leave standard keyboard characters - */ - public static function toSimple($dirty) { - return static::filter_string_polyfill(filter_var( - str_replace(['"', '\''], '', $dirty), - FILTER_SANITIZE_FULL_SPECIAL_CHARS, - FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH - )); + public static function toAllowableUsername($dirty) + { + return preg_replace('/[^a-zA-Z0-9_-]/', '', $dirty); + } + + public static function toEmail($dirty) + { + return filter_var($dirty, FILTER_SANITIZE_EMAIL); + } + + public static function stripHighUtf8($dirty) + { + return filter_var($dirty, FILTER_UNSAFE_RAW, FILTER_FLAG_STRIP_HIGH | FILTER_FLAG_STRIP_LOW); } } diff --git a/deploy/lib/control/SignupController.php b/deploy/lib/control/SignupController.php index 260564bb7..d2bd67477 100644 --- a/deploy/lib/control/SignupController.php +++ b/deploy/lib/control/SignupController.php @@ -160,7 +160,7 @@ private function validateSignupRequest($p_request) { throw new \RuntimeException('Phase 1 Incomplete: You did not correctly fill out all the necessary information.', 0); } - if ($p_request->enteredPass !== Filter::toSimple($p_request->enteredPass)) { + if ($p_request->enteredPass !== Filter::stripHighUtf8($p_request->enteredPass)) { throw new \RuntimeException("Sorry, there seem to be some very special non-standard characters in your password that we don't allow."); } @@ -191,12 +191,12 @@ private function validateSignupRequest($p_request) { */ private function buildSignupRequest($p_request) { $signupRequest = new \stdClass(); - $signupRequest->enteredName = Filter::toSimple(trim($p_request->get('send_name') ?? '')); - $signupRequest->enteredEmail = Filter::toSimple(trim($p_request->get('send_email') ?? '')); + $signupRequest->enteredName = Filter::toAllowableUsername(trim($p_request->get('send_name') ?? '')); + $signupRequest->enteredEmail = Filter::toEmail(trim($p_request->get('send_email') ?? '')); $signupRequest->enteredClass = strtolower(trim($p_request->get('send_class') ?? '')); $signupRequest->enteredReferral = trim($p_request->get('referred_by', $p_request->get('referrer')) ?? ''); - $signupRequest->enteredPass = Filter::toSimple($p_request->get('key') ?? ''); - $signupRequest->enteredCPass = Filter::toSimple($p_request->get('cpass') ?? ''); + $signupRequest->enteredPass = Filter::stripHighUtf8($p_request->get('key') ?? ''); + $signupRequest->enteredCPass = Filter::stripHighUtf8($p_request->get('cpass') ?? ''); $signupRequest->clientIP = $p_request->getClientIp(); // Fallback to key for class diff --git a/deploy/tests/unit/environment_test.php b/deploy/tests/unit/environment_test.php index d186000fb..e050b36c8 100644 --- a/deploy/tests/unit/environment_test.php +++ b/deploy/tests/unit/environment_test.php @@ -6,13 +6,18 @@ use NinjaWars\core\environment\RequestWrapper; use NinjaWars\core\Filter; -class TestInput extends NWTest { - public function setUp(): void { +/** + * @group environment + */ +class TestInput extends \NWTest +{ + public function setUp(): void + { parent::setUp(); $get = [ 'id' => 7, 'ninja_name' => 5, - 'some_negative_int'=> -444, + 'some_negative_int' => -444, 'some_int' => 66, 'garbage_field' => 'Robert\'); drop table students; --' ]; @@ -20,7 +25,7 @@ public function setUp(): void { $post = [ 'hidden_post' => 1, 'post_post_field' => 'Bob', - 'post_negative_int'=> -234, + 'post_negative_int' => -234, 'post_some_int' => 34, 'post_garbage_field' => 'Robert\'); drop table students; --' ]; @@ -30,26 +35,30 @@ public function setUp(): void { RequestWrapper::inject($request); // Pass a request to be used by tests } - public function tearDown(): void { + public function tearDown(): void + { RequestWrapper::destroy(); parent::tearDown(); } - public function testInputWithinEnvironment() { + public function testInputWithinEnvironment() + { $id = RequestWrapper::getPostOrGet('id'); $this->assertEquals(7, $id); $default_result = RequestWrapper::getPostOrGet('doesnotexist', 5); $this->assertEquals(5, $default_result); } - public function testPostWithinMockedEnvironment() { + public function testPostWithinMockedEnvironment() + { $posted = RequestWrapper::getPost('post_post_field', 'Bob'); $this->assertEquals('Bob', $posted); $default = RequestWrapper::getPost('blah_doesnt_exist', 7777); $this->assertEquals(7777, $default); } - public function testNonNegativeInt() { + public function testNonNegativeInt() + { $this->assertEquals(4, Filter::toNonNegativeInt(4)); $this->assertEquals(0, Filter::toNonNegativeInt(-4)); $this->assertEquals(0, Filter::toNonNegativeInt(4.1)); @@ -62,7 +71,8 @@ public function testNonNegativeInt() { /** * */ - public function testSanitizeToInt() { + public function testSanitizeToInt() + { $this->assertEquals(4, Filter::toInt(4)); $this->assertEquals(-4, Filter::toInt(-4)); $this->assertNull(Filter::toInt(4.1)); @@ -72,7 +82,8 @@ public function testSanitizeToInt() { $this->assertEquals(0, Filter::toInt(0)); } - public function testToInt() { + public function testToInt() + { $this->assertEquals(4, Filter::toInt(4)); $this->assertEquals(-4, Filter::toInt(-4)); $this->assertNull(Filter::toInt(4.1)); @@ -82,8 +93,8 @@ public function testToInt() { $this->assertEquals(0, Filter::toInt(0)); } - public function testFilterToSimple() { - $this->assertEquals('boba', Filter::toSimple("bob\0aä\x80")); - $this->assertEquals("!@#^&()_+--", Filter::toSimple("!@#^&()_+'''\"\"''--")); + public function testFilterStripHighUtf8() + { + $this->assertEquals('boba', Filter::stripHighUtf8("bob\0aä\x80")); } } From 4efbcb9ed9ec9332eda3b2462f42eaf259a233f3 Mon Sep 17 00:00:00 2001 From: "deepsource-autofix[bot]" <62050782+deepsource-autofix[bot]@users.noreply.github.com> Date: Sun, 29 Jan 2023 05:09:40 +0000 Subject: [PATCH 10/22] Format code with php-cs-fixer --- deploy/lib/Filter.php | 21 +++++++------------- deploy/tests/unit/environment_test.php | 27 +++++++++----------------- 2 files changed, 16 insertions(+), 32 deletions(-) diff --git a/deploy/lib/Filter.php b/deploy/lib/Filter.php index eb6e45b4b..63288d6bd 100644 --- a/deploy/lib/Filter.php +++ b/deploy/lib/Filter.php @@ -5,8 +5,7 @@ /** * Filter & Sanitation wrappers */ -class Filter -{ +class Filter { /** * Return a casting with a result of a positive int, or else zero. * @@ -14,37 +13,31 @@ class Filter * this function will cast strings with leading integers to those integers. * E.g. 555'sql-injection becomes 555 */ - public static function toNonNegativeInt($num) - { + public static function toNonNegativeInt($num) { return ((int)$num == $num && (int)$num > 0 ? (int)$num : 0); } /** * Casts to an integer anything that can be cast that way non-destructively, otherwise null. */ - public static function toInt($dirty) - { + public static function toInt($dirty) { return $dirty == (int) $dirty ? (int) $dirty : null; // Cast anything that can be non-destructively cast. } - public static function toAlphaNumeric($dirty) - { + public static function toAlphaNumeric($dirty) { return preg_replace('/[^a-zA-Z0-9]/', '', $dirty); } - public static function toAllowableUsername($dirty) - { + public static function toAllowableUsername($dirty) { return preg_replace('/[^a-zA-Z0-9_-]/', '', $dirty); } - public static function toEmail($dirty) - { + public static function toEmail($dirty) { return filter_var($dirty, FILTER_SANITIZE_EMAIL); } - public static function stripHighUtf8($dirty) - { + public static function stripHighUtf8($dirty) { return filter_var($dirty, FILTER_UNSAFE_RAW, FILTER_FLAG_STRIP_HIGH | FILTER_FLAG_STRIP_LOW); } } diff --git a/deploy/tests/unit/environment_test.php b/deploy/tests/unit/environment_test.php index e050b36c8..cbb5c305f 100644 --- a/deploy/tests/unit/environment_test.php +++ b/deploy/tests/unit/environment_test.php @@ -9,10 +9,8 @@ /** * @group environment */ -class TestInput extends \NWTest -{ - public function setUp(): void - { +class TestInput extends \NWTest { + public function setUp(): void { parent::setUp(); $get = [ 'id' => 7, @@ -35,30 +33,26 @@ public function setUp(): void RequestWrapper::inject($request); // Pass a request to be used by tests } - public function tearDown(): void - { + public function tearDown(): void { RequestWrapper::destroy(); parent::tearDown(); } - public function testInputWithinEnvironment() - { + public function testInputWithinEnvironment() { $id = RequestWrapper::getPostOrGet('id'); $this->assertEquals(7, $id); $default_result = RequestWrapper::getPostOrGet('doesnotexist', 5); $this->assertEquals(5, $default_result); } - public function testPostWithinMockedEnvironment() - { + public function testPostWithinMockedEnvironment() { $posted = RequestWrapper::getPost('post_post_field', 'Bob'); $this->assertEquals('Bob', $posted); $default = RequestWrapper::getPost('blah_doesnt_exist', 7777); $this->assertEquals(7777, $default); } - public function testNonNegativeInt() - { + public function testNonNegativeInt() { $this->assertEquals(4, Filter::toNonNegativeInt(4)); $this->assertEquals(0, Filter::toNonNegativeInt(-4)); $this->assertEquals(0, Filter::toNonNegativeInt(4.1)); @@ -71,8 +65,7 @@ public function testNonNegativeInt() /** * */ - public function testSanitizeToInt() - { + public function testSanitizeToInt() { $this->assertEquals(4, Filter::toInt(4)); $this->assertEquals(-4, Filter::toInt(-4)); $this->assertNull(Filter::toInt(4.1)); @@ -82,8 +75,7 @@ public function testSanitizeToInt() $this->assertEquals(0, Filter::toInt(0)); } - public function testToInt() - { + public function testToInt() { $this->assertEquals(4, Filter::toInt(4)); $this->assertEquals(-4, Filter::toInt(-4)); $this->assertNull(Filter::toInt(4.1)); @@ -93,8 +85,7 @@ public function testToInt() $this->assertEquals(0, Filter::toInt(0)); } - public function testFilterStripHighUtf8() - { + public function testFilterStripHighUtf8() { $this->assertEquals('boba', Filter::stripHighUtf8("bob\0aä\x80")); } } From ae976730c9552e2989812fe4e1a92fda6f07e5ac Mon Sep 17 00:00:00 2001 From: Roy Ronalds Date: Sun, 29 Jan 2023 20:21:36 -0500 Subject: [PATCH 11/22] Update the build to split out the configure step first. --- .github/workflows/php.yml | 1 - Makefile | 8 +++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml index 3e87c5738..a9265dd8a 100644 --- a/.github/workflows/php.yml +++ b/.github/workflows/php.yml @@ -63,5 +63,4 @@ jobs: - name: Run test suite run: | - ln -s ./resources.build.php ./deploy/resources.php ./composer.phar run-script unit-test diff --git a/Makefile b/Makefile index 73b39b7be..c870c885d 100644 --- a/Makefile +++ b/Makefile @@ -32,11 +32,13 @@ create-directories: touch ./deploy/resources/logs/deity.log touch ./deploy/resources/logs/emails.log -build: dep - @echo "Don't forget to update nginx configs as necessary." - @echo "Including updating the php to retain login sessions longer." +configure: cp -upn ./deploy/resources.build.php ./deploy/resources.php || true echo "Note that this does not overwrite existing resources.php" + +build: configure dep + @echo "Don't forget to update nginx configs as necessary." + @echo "Including updating the php to retain login sessions longer." echo "Check that the webserver user has permissions to the script!" @ln -sf "$(RELATIVE_COMPONENTS)jquery/jquery.min.js" "$(JS)" @ln -sf "$(RELATIVE_COMPONENTS)jquery/jquery.min.map" "$(JS)" From 2b68b16dcdcf3089452af2eb566f094eebf803ee Mon Sep 17 00:00:00 2001 From: Roy R Date: Sun, 29 Jan 2023 22:47:36 -0500 Subject: [PATCH 12/22] Make changes to php 8.2. --- Makefile | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index c870c885d..4e345fafc 100644 --- a/Makefile +++ b/Makefile @@ -119,9 +119,6 @@ install-python: python-install install-webserver: apt install nginx -restart-webserver: - service nginx restart - install-database-client: apt install postgresql-client @@ -287,14 +284,14 @@ web-reload: ps waux | grep nginx restart-webserver: - sudo service nginx reload + sudo service nginx restart sleep 0.5 ps waux | grep nginx ci-pre-configure: # Set php version # Versions available: https://documentation.codeship.com/basic/languages-frameworks/php/#versions-and-setup - phpenv local 8.0 + phpenv local 8.2 @echo "Removing xdebug on CI, by default." rm -f /home/rof/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini ln -s `pwd` /tmp/root From 2e722ffa07f3fb94ff73d69a7f67086516a6012f Mon Sep 17 00:00:00 2001 From: Roy R Date: Sun, 29 Jan 2023 22:56:28 -0500 Subject: [PATCH 13/22] Fix configure not overriding. --- Makefile | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 4e345fafc..73d11de19 100644 --- a/Makefile +++ b/Makefile @@ -32,14 +32,12 @@ create-directories: touch ./deploy/resources/logs/deity.log touch ./deploy/resources/logs/emails.log -configure: +conf-resources: cp -upn ./deploy/resources.build.php ./deploy/resources.php || true echo "Note that this does not overwrite existing resources.php" -build: configure dep - @echo "Don't forget to update nginx configs as necessary." - @echo "Including updating the php to retain login sessions longer." - echo "Check that the webserver user has permissions to the script!" +build: conf-resources dep + @echo "Running build" @ln -sf "$(RELATIVE_COMPONENTS)jquery/jquery.min.js" "$(JS)" @ln -sf "$(RELATIVE_COMPONENTS)jquery/jquery.min.map" "$(JS)" @ln -sf "$(RELATIVE_COMPONENTS)jquery-timeago/jquery.timeago.js" "$(JS)" @@ -52,6 +50,7 @@ build: configure dep php deploy/www/login-controller.php > deploy/www/login.html php deploy/www/signup-controller.php > deploy/www/signup.html @echo "Built front controller to static deploy/www/index.html file, as well as intro.html, login.html, and signup.html" + @echo "This is not a full install, just the build, so check make install and make note-system" dep: @$(COMPOSER) install @@ -69,7 +68,7 @@ js-deps: yarn -v yarn install --immutable -preconfig: +preconfig: cp -u -p ./deploy/resources.build.php ./deploy/resources.php postcheck: From 78ec3bf9271b04ffac7e635d49a5726a1d9a2208 Mon Sep 17 00:00:00 2001 From: Roy R Date: Sun, 29 Jan 2023 23:39:40 -0500 Subject: [PATCH 14/22] Deprecation issue fixes, with a new attribute for php 8.2. --- deploy/lib/data/Account.php | 1 + deploy/lib/data/PlayerDAO.php | 1 + deploy/lib/data/PlayerVO.php | 2 ++ deploy/lib/data/SkillDAO.php | 2 ++ 4 files changed, 6 insertions(+) diff --git a/deploy/lib/data/Account.php b/deploy/lib/data/Account.php index 9264930ad..d6022a760 100644 --- a/deploy/lib/data/Account.php +++ b/deploy/lib/data/Account.php @@ -27,6 +27,7 @@ * @property-read string oauth_provider * @property-read int oauth_id */ +#[\AllowDynamicProperties] class Account { public static $fields = [ 'account_id', diff --git a/deploy/lib/data/PlayerDAO.php b/deploy/lib/data/PlayerDAO.php index 0745d0cdc..78b185d20 100644 --- a/deploy/lib/data/PlayerDAO.php +++ b/deploy/lib/data/PlayerDAO.php @@ -12,6 +12,7 @@ * Creates the player value objects. * Essentially it acts as the model (creator) if Model-View-Controller were in play. */ +#[\AllowDynamicProperties] class PlayerDAO extends DataAccessObject { /** * Assigns and holds the connection to the db. diff --git a/deploy/lib/data/PlayerVO.php b/deploy/lib/data/PlayerVO.php index fe54f3a7c..4ca0808f9 100644 --- a/deploy/lib/data/PlayerVO.php +++ b/deploy/lib/data/PlayerVO.php @@ -10,6 +10,8 @@ * Essentially this acts as the container for the model's data. * @var database_fields */ + +#[\AllowDynamicProperties] class PlayerVO extends ValueObject { public $player_id; public $uname; diff --git a/deploy/lib/data/SkillDAO.php b/deploy/lib/data/SkillDAO.php index af6db1dd4..714696d17 100644 --- a/deploy/lib/data/SkillDAO.php +++ b/deploy/lib/data/SkillDAO.php @@ -10,6 +10,8 @@ * Creates the skill value objects. * Essentially it acts as the model (creator) if Model-View-Controller were in play. */ + +#[\AllowDynamicProperties] class SkillDAO extends DataAccessObject { /* * Assigns and holds the connection to the db. From 0596ff559b7773f4b6a1b1b94669b66ec5b7028b Mon Sep 17 00:00:00 2001 From: Roy R Date: Sun, 29 Jan 2023 23:43:59 -0500 Subject: [PATCH 15/22] Composer updates. --- composer.lock | 710 ++++++++++++++++++++++++++++---------------------- 1 file changed, 392 insertions(+), 318 deletions(-) diff --git a/composer.lock b/composer.lock index 61706fe7d..d076e6fd8 100644 --- a/composer.lock +++ b/composer.lock @@ -120,16 +120,16 @@ }, { "name": "composer/installers", - "version": "v2.0.1", + "version": "v2.2.0", "source": { "type": "git", "url": "https://github.com/composer/installers.git", - "reference": "a241e78aaeb09781f5f5b92ac01ffd13ab43e5e8" + "reference": "c29dc4b93137acb82734f672c37e029dfbd95b35" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/installers/zipball/a241e78aaeb09781f5f5b92ac01ffd13ab43e5e8", - "reference": "a241e78aaeb09781f5f5b92ac01ffd13ab43e5e8", + "url": "https://api.github.com/repos/composer/installers/zipball/c29dc4b93137acb82734f672c37e029dfbd95b35", + "reference": "c29dc4b93137acb82734f672c37e029dfbd95b35", "shasum": "" }, "require": { @@ -149,7 +149,8 @@ "class": "Composer\\Installers\\Plugin", "branch-alias": { "dev-main": "2.x-dev" - } + }, + "plugin-modifies-install-path": true }, "autoload": { "psr-4": { @@ -216,6 +217,7 @@ "magento", "majima", "mako", + "matomo", "mediawiki", "miaoxing", "modulework", @@ -243,7 +245,7 @@ ], "support": { "issues": "https://github.com/composer/installers/issues", - "source": "https://github.com/composer/installers/tree/v2.0.1" + "source": "https://github.com/composer/installers/tree/v2.2.0" }, "funding": [ { @@ -259,7 +261,50 @@ "type": "tidelift" } ], - "time": "2021-09-13T08:21:20+00:00" + "time": "2022-08-20T06:45:11+00:00" + }, + { + "name": "doctrine/deprecations", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/deprecations.git", + "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", + "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", + "shasum": "" + }, + "require": { + "php": "^7.1|^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9", + "phpunit/phpunit": "^7.5|^8.5|^9.5", + "psr/log": "^1|^2|^3" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/v1.0.0" + }, + "time": "2022-05-02T15:47:09+00:00" }, { "name": "doctrine/inflector", @@ -293,8 +338,8 @@ }, "autoload": { "psr-4": { - "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector", - "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector", + "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" } }, "notification-url": "https://packagist.org/downloads/", @@ -359,35 +404,33 @@ }, { "name": "doctrine/lexer", - "version": "1.2.1", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "e864bbf5904cb8f5bb334f99209b48018522f042" + "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042", - "reference": "e864bbf5904cb8f5bb334f99209b48018522f042", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/39ab8fcf5a51ce4b85ca97c7a7d033eb12831124", + "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0" + "doctrine/deprecations": "^1.0", + "php": "^7.1 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^6.0", - "phpstan/phpstan": "^0.11.8", - "phpunit/phpunit": "^8.2" + "doctrine/coding-standard": "^9 || ^10", + "phpstan/phpstan": "^1.3", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "psalm/plugin-phpunit": "^0.18.3", + "vimeo/psalm": "^4.11 || ^5.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, "autoload": { "psr-4": { - "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" + "Doctrine\\Common\\Lexer\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -419,7 +462,7 @@ ], "support": { "issues": "https://github.com/doctrine/lexer/issues", - "source": "https://github.com/doctrine/lexer/tree/1.2.1" + "source": "https://github.com/doctrine/lexer/tree/2.1.0" }, "funding": [ { @@ -435,29 +478,28 @@ "type": "tidelift" } ], - "time": "2020-05-25T17:44:05+00:00" + "time": "2022-12-14T08:49:07+00:00" }, { "name": "egulias/email-validator", - "version": "3.1.2", + "version": "3.2.5", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "ee0db30118f661fb166bcffbf5d82032df484697" + "reference": "b531a2311709443320c786feb4519cfaf94af796" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ee0db30118f661fb166bcffbf5d82032df484697", - "reference": "ee0db30118f661fb166bcffbf5d82032df484697", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/b531a2311709443320c786feb4519cfaf94af796", + "reference": "b531a2311709443320c786feb4519cfaf94af796", "shasum": "" }, "require": { - "doctrine/lexer": "^1.2", + "doctrine/lexer": "^1.2|^2", "php": ">=7.2", "symfony/polyfill-intl-idn": "^1.15" }, "require-dev": { - "php-coveralls/php-coveralls": "^2.2", "phpunit/phpunit": "^8.5.8|^9.3.3", "vimeo/psalm": "^4" }, @@ -495,7 +537,7 @@ ], "support": { "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/3.1.2" + "source": "https://github.com/egulias/EmailValidator/tree/3.2.5" }, "funding": [ { @@ -503,7 +545,7 @@ "type": "github" } ], - "time": "2021-10-11T09:18:27+00:00" + "time": "2023-01-02T17:26:14+00:00" }, { "name": "evenement/evenement", @@ -554,16 +596,16 @@ }, { "name": "guzzlehttp/psr7", - "version": "2.2.1", + "version": "2.4.3", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "c94a94f120803a18554c1805ef2e539f8285f9a2" + "reference": "67c26b443f348a51926030c83481b85718457d3d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/c94a94f120803a18554c1805ef2e539f8285f9a2", - "reference": "c94a94f120803a18554c1805ef2e539f8285f9a2", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/67c26b443f348a51926030c83481b85718457d3d", + "reference": "67c26b443f348a51926030c83481b85718457d3d", "shasum": "" }, "require": { @@ -577,17 +619,21 @@ "psr/http-message-implementation": "1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", + "bamarni/composer-bin-plugin": "^1.8.1", "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.8 || ^9.3.10" + "phpunit/phpunit": "^8.5.29 || ^9.5.23" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" }, "type": "library", "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + }, "branch-alias": { - "dev-master": "2.2-dev" + "dev-master": "2.4-dev" } }, "autoload": { @@ -649,7 +695,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.2.1" + "source": "https://github.com/guzzle/psr7/tree/2.4.3" }, "funding": [ { @@ -665,7 +711,7 @@ "type": "tidelift" } ], - "time": "2022-03-20T21:55:58+00:00" + "time": "2022-10-26T14:07:24+00:00" }, { "name": "illuminate/container", @@ -860,12 +906,12 @@ } }, "autoload": { - "psr-4": { - "Illuminate\\Support\\": "" - }, "files": [ "helpers.php" - ] + ], + "psr-4": { + "Illuminate\\Support\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1097,23 +1143,23 @@ }, { "name": "paragonie/random_compat", - "version": "v2.0.20", + "version": "v2.0.21", "source": { "type": "git", "url": "https://github.com/paragonie/random_compat.git", - "reference": "0f1f60250fccffeaf5dda91eea1c018aed1adc2a" + "reference": "96c132c7f2f7bc3230723b66e89f8f150b29d5ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/0f1f60250fccffeaf5dda91eea1c018aed1adc2a", - "reference": "0f1f60250fccffeaf5dda91eea1c018aed1adc2a", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/96c132c7f2f7bc3230723b66e89f8f150b29d5ae", + "reference": "96c132c7f2f7bc3230723b66e89f8f150b29d5ae", "shasum": "" }, "require": { "php": ">=5.2.0" }, "require-dev": { - "phpunit/phpunit": "4.*|5.*" + "phpunit/phpunit": "*" }, "suggest": { "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." @@ -1147,7 +1193,7 @@ "issues": "https://github.com/paragonie/random_compat/issues", "source": "https://github.com/paragonie/random_compat" }, - "time": "2021-04-17T09:33:01+00:00" + "time": "2022-02-16T17:07:03+00:00" }, { "name": "pimple/pimple", @@ -1466,16 +1512,16 @@ }, { "name": "react/cache", - "version": "v1.1.1", + "version": "v1.2.0", "source": { "type": "git", "url": "https://github.com/reactphp/cache.git", - "reference": "4bf736a2cccec7298bdf745db77585966fc2ca7e" + "reference": "d47c472b64aa5608225f47965a484b75c7817d5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/cache/zipball/4bf736a2cccec7298bdf745db77585966fc2ca7e", - "reference": "4bf736a2cccec7298bdf745db77585966fc2ca7e", + "url": "https://api.github.com/repos/reactphp/cache/zipball/d47c472b64aa5608225f47965a484b75c7817d5b", + "reference": "d47c472b64aa5608225f47965a484b75c7817d5b", "shasum": "" }, "require": { @@ -1483,7 +1529,7 @@ "react/promise": "^3.0 || ^2.0 || ^1.1" }, "require-dev": { - "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35" + "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35" }, "type": "library", "autoload": { @@ -1526,32 +1572,28 @@ ], "support": { "issues": "https://github.com/reactphp/cache/issues", - "source": "https://github.com/reactphp/cache/tree/v1.1.1" + "source": "https://github.com/reactphp/cache/tree/v1.2.0" }, "funding": [ { - "url": "https://github.com/WyriHaximus", - "type": "github" - }, - { - "url": "https://github.com/clue", - "type": "github" + "url": "https://opencollective.com/reactphp", + "type": "open_collective" } ], - "time": "2021-02-02T06:47:52+00:00" + "time": "2022-11-30T15:59:55+00:00" }, { "name": "react/dns", - "version": "v1.9.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/reactphp/dns.git", - "reference": "6d38296756fa644e6cb1bfe95eff0f9a4ed6edcb" + "reference": "a5427e7dfa47713e438016905605819d101f238c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/dns/zipball/6d38296756fa644e6cb1bfe95eff0f9a4ed6edcb", - "reference": "6d38296756fa644e6cb1bfe95eff0f9a4ed6edcb", + "url": "https://api.github.com/repos/reactphp/dns/zipball/a5427e7dfa47713e438016905605819d101f238c", + "reference": "a5427e7dfa47713e438016905605819d101f238c", "shasum": "" }, "require": { @@ -1559,11 +1601,11 @@ "react/cache": "^1.0 || ^0.6 || ^0.5", "react/event-loop": "^1.2", "react/promise": "^3.0 || ^2.7 || ^1.2.1", - "react/promise-timer": "^1.8" + "react/promise-timer": "^1.9" }, "require-dev": { - "clue/block-react": "^1.2", - "phpunit/phpunit": "^9.3 || ^4.8.35" + "phpunit/phpunit": "^9.3 || ^4.8.35", + "react/async": "^4 || ^3 || ^2" }, "type": "library", "autoload": { @@ -1606,7 +1648,7 @@ ], "support": { "issues": "https://github.com/reactphp/dns/issues", - "source": "https://github.com/reactphp/dns/tree/v1.9.0" + "source": "https://github.com/reactphp/dns/tree/v1.10.0" }, "funding": [ { @@ -1618,20 +1660,20 @@ "type": "github" } ], - "time": "2021-12-20T08:46:54+00:00" + "time": "2022-09-08T12:22:46+00:00" }, { "name": "react/event-loop", - "version": "v1.2.0", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/reactphp/event-loop.git", - "reference": "be6dee480fc4692cec0504e65eb486e3be1aa6f2" + "reference": "187fb56f46d424afb6ec4ad089269c72eec2e137" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/event-loop/zipball/be6dee480fc4692cec0504e65eb486e3be1aa6f2", - "reference": "be6dee480fc4692cec0504e65eb486e3be1aa6f2", + "url": "https://api.github.com/repos/reactphp/event-loop/zipball/187fb56f46d424afb6ec4ad089269c72eec2e137", + "reference": "187fb56f46d424afb6ec4ad089269c72eec2e137", "shasum": "" }, "require": { @@ -1684,7 +1726,7 @@ ], "support": { "issues": "https://github.com/reactphp/event-loop/issues", - "source": "https://github.com/reactphp/event-loop/tree/v1.2.0" + "source": "https://github.com/reactphp/event-loop/tree/v1.3.0" }, "funding": [ { @@ -1696,36 +1738,36 @@ "type": "github" } ], - "time": "2021-07-11T12:31:24+00:00" + "time": "2022-03-17T11:10:22+00:00" }, { "name": "react/promise", - "version": "v2.8.0", + "version": "v2.9.0", "source": { "type": "git", "url": "https://github.com/reactphp/promise.git", - "reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4" + "reference": "234f8fd1023c9158e2314fa9d7d0e6a83db42910" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/f3cff96a19736714524ca0dd1d4130de73dbbbc4", - "reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4", + "url": "https://api.github.com/repos/reactphp/promise/zipball/234f8fd1023c9158e2314fa9d7d0e6a83db42910", + "reference": "234f8fd1023c9158e2314fa9d7d0e6a83db42910", "shasum": "" }, "require": { "php": ">=5.4.0" }, "require-dev": { - "phpunit/phpunit": "^7.0 || ^6.5 || ^5.7 || ^4.8.36" + "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.36" }, "type": "library", "autoload": { - "psr-4": { - "React\\Promise\\": "src/" - }, "files": [ "src/functions_include.php" - ] + ], + "psr-4": { + "React\\Promise\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1734,7 +1776,23 @@ "authors": [ { "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com" + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" } ], "description": "A lightweight implementation of CommonJS Promises/A for PHP", @@ -1744,22 +1802,32 @@ ], "support": { "issues": "https://github.com/reactphp/promise/issues", - "source": "https://github.com/reactphp/promise/tree/v2.8.0" + "source": "https://github.com/reactphp/promise/tree/v2.9.0" }, - "time": "2020-05-12T15:16:56+00:00" + "funding": [ + { + "url": "https://github.com/WyriHaximus", + "type": "github" + }, + { + "url": "https://github.com/clue", + "type": "github" + } + ], + "time": "2022-02-11T10:27:51+00:00" }, { "name": "react/promise-timer", - "version": "v1.8.0", + "version": "v1.9.0", "source": { "type": "git", "url": "https://github.com/reactphp/promise-timer.git", - "reference": "0bbbcc79589e5bfdddba68a287f1cb805581a479" + "reference": "aa7a73c74b8d8c0f622f5982ff7b0351bc29e495" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise-timer/zipball/0bbbcc79589e5bfdddba68a287f1cb805581a479", - "reference": "0bbbcc79589e5bfdddba68a287f1cb805581a479", + "url": "https://api.github.com/repos/reactphp/promise-timer/zipball/aa7a73c74b8d8c0f622f5982ff7b0351bc29e495", + "reference": "aa7a73c74b8d8c0f622f5982ff7b0351bc29e495", "shasum": "" }, "require": { @@ -1772,12 +1840,12 @@ }, "type": "library", "autoload": { - "psr-4": { - "React\\Promise\\Timer\\": "src/" - }, "files": [ "src/functions_include.php" - ] + ], + "psr-4": { + "React\\Promise\\Timer\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1817,7 +1885,7 @@ ], "support": { "issues": "https://github.com/reactphp/promise-timer/issues", - "source": "https://github.com/reactphp/promise-timer/tree/v1.8.0" + "source": "https://github.com/reactphp/promise-timer/tree/v1.9.0" }, "funding": [ { @@ -1829,20 +1897,20 @@ "type": "github" } ], - "time": "2021-12-06T11:08:48+00:00" + "time": "2022-06-13T13:41:03+00:00" }, { "name": "react/socket", - "version": "v1.10.0", + "version": "v1.12.0", "source": { "type": "git", "url": "https://github.com/reactphp/socket.git", - "reference": "d132fde589ea97f4165f2d94b5296499eac125ec" + "reference": "81e1b4d7f5450ebd8d2e9a95bb008bb15ca95a7b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/socket/zipball/d132fde589ea97f4165f2d94b5296499eac125ec", - "reference": "d132fde589ea97f4165f2d94b5296499eac125ec", + "url": "https://api.github.com/repos/reactphp/socket/zipball/81e1b4d7f5450ebd8d2e9a95bb008bb15ca95a7b", + "reference": "81e1b4d7f5450ebd8d2e9a95bb008bb15ca95a7b", "shasum": "" }, "require": { @@ -1850,14 +1918,14 @@ "php": ">=5.3.0", "react/dns": "^1.8", "react/event-loop": "^1.2", - "react/promise": "^2.6.0 || ^1.2.1", - "react/promise-timer": "^1.4.0", + "react/promise": "^3 || ^2.6 || ^1.2.1", + "react/promise-timer": "^1.9", "react/stream": "^1.2" }, "require-dev": { - "clue/block-react": "^1.2", "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35", - "react/promise-stream": "^1.2" + "react/async": "^4 || ^3 || ^2", + "react/promise-stream": "^1.4" }, "type": "library", "autoload": { @@ -1901,7 +1969,7 @@ ], "support": { "issues": "https://github.com/reactphp/socket/issues", - "source": "https://github.com/reactphp/socket/tree/v1.10.0" + "source": "https://github.com/reactphp/socket/tree/v1.12.0" }, "funding": [ { @@ -1913,7 +1981,7 @@ "type": "github" } ], - "time": "2021-11-29T10:08:24+00:00" + "time": "2022-08-25T12:32:25+00:00" }, { "name": "react/stream", @@ -2023,16 +2091,16 @@ }, { "name": "smarty/smarty", - "version": "v4.2.1", + "version": "v4.3.0", "source": { "type": "git", "url": "https://github.com/smarty-php/smarty.git", - "reference": "ffa2b81a8e354a49fd8a2f24742dc9dc399e8007" + "reference": "c02e9e135ea719b91f457a0072748ded0e852e7d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/smarty-php/smarty/zipball/ffa2b81a8e354a49fd8a2f24742dc9dc399e8007", - "reference": "ffa2b81a8e354a49fd8a2f24742dc9dc399e8007", + "url": "https://api.github.com/repos/smarty-php/smarty/zipball/c02e9e135ea719b91f457a0072748ded0e852e7d", + "reference": "c02e9e135ea719b91f457a0072748ded0e852e7d", "shasum": "" }, "require": { @@ -2083,9 +2151,9 @@ "support": { "forum": "https://github.com/smarty-php/smarty/discussions", "issues": "https://github.com/smarty-php/smarty/issues", - "source": "https://github.com/smarty-php/smarty/tree/v4.2.1" + "source": "https://github.com/smarty-php/smarty/tree/v4.3.0" }, - "time": "2022-09-14T10:59:01+00:00" + "time": "2022-11-22T21:47:32+00:00" }, { "name": "swiftmailer/swiftmailer", @@ -2165,25 +2233,25 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v3.0.0", + "version": "v3.2.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "c726b64c1ccfe2896cb7df2e1331c357ad1c8ced" + "reference": "1ee04c65529dea5d8744774d474e7cbd2f1206d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/c726b64c1ccfe2896cb7df2e1331c357ad1c8ced", - "reference": "c726b64c1ccfe2896cb7df2e1331c357ad1c8ced", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/1ee04c65529dea5d8744774d474e7cbd2f1206d3", + "reference": "1ee04c65529dea5d8744774d474e7cbd2f1206d3", "shasum": "" }, "require": { - "php": ">=8.0.2" + "php": ">=8.1" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "3.3-dev" }, "thanks": { "name": "symfony/contracts", @@ -2212,7 +2280,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.0.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.2.0" }, "funding": [ { @@ -2228,20 +2296,20 @@ "type": "tidelift" } ], - "time": "2021-11-01T23:48:49+00:00" + "time": "2022-11-25T10:21:52+00:00" }, { "name": "symfony/http-foundation", - "version": "v4.4.34", + "version": "v4.4.49", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "f4cbbb6fc428588ce8373802461e7fe84e6809ab" + "reference": "191413c7b832c015bb38eae963f2e57498c3c173" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f4cbbb6fc428588ce8373802461e7fe84e6809ab", - "reference": "f4cbbb6fc428588ce8373802461e7fe84e6809ab", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/191413c7b832c015bb38eae963f2e57498c3c173", + "reference": "191413c7b832c015bb38eae963f2e57498c3c173", "shasum": "" }, "require": { @@ -2280,7 +2348,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v4.4.34" + "source": "https://github.com/symfony/http-foundation/tree/v4.4.49" }, "funding": [ { @@ -2296,20 +2364,20 @@ "type": "tidelift" } ], - "time": "2021-11-04T12:23:33+00:00" + "time": "2022-11-04T16:17:57+00:00" }, { "name": "symfony/mime", - "version": "v5.4.0", + "version": "v5.4.19", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "d4365000217b67c01acff407573906ff91bcfb34" + "reference": "a858429a9c704edc53fe057228cf9ca282ba48eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/d4365000217b67c01acff407573906ff91bcfb34", - "reference": "d4365000217b67c01acff407573906ff91bcfb34", + "url": "https://api.github.com/repos/symfony/mime/zipball/a858429a9c704edc53fe057228cf9ca282ba48eb", + "reference": "a858429a9c704edc53fe057228cf9ca282ba48eb", "shasum": "" }, "require": { @@ -2323,15 +2391,16 @@ "egulias/email-validator": "~3.0.0", "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", - "symfony/mailer": "<4.4" + "symfony/mailer": "<4.4", + "symfony/serializer": "<5.4.14|>=6.0,<6.0.14|>=6.1,<6.1.6" }, "require-dev": { - "egulias/email-validator": "^2.1.10|^3.1", + "egulias/email-validator": "^2.1.10|^3.1|^4", "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.2|^6.0" + "symfony/serializer": "^5.4.14|~6.0.14|^6.1.6" }, "type": "library", "autoload": { @@ -2363,7 +2432,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v5.4.0" + "source": "https://github.com/symfony/mime/tree/v5.4.19" }, "funding": [ { @@ -2379,20 +2448,20 @@ "type": "tidelift" } ], - "time": "2021-11-23T10:19:22+00:00" + "time": "2023-01-09T05:43:46+00:00" }, { "name": "symfony/polyfill-iconv", - "version": "v1.24.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "f1aed619e28cb077fc83fac8c4c0383578356e40" + "reference": "927013f3aac555983a5059aada98e1907d842695" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/f1aed619e28cb077fc83fac8c4c0383578356e40", - "reference": "f1aed619e28cb077fc83fac8c4c0383578356e40", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/927013f3aac555983a5059aada98e1907d842695", + "reference": "927013f3aac555983a5059aada98e1907d842695", "shasum": "" }, "require": { @@ -2407,7 +2476,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2415,12 +2484,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Iconv\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Iconv\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2446,7 +2515,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.24.0" + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.27.0" }, "funding": [ { @@ -2462,20 +2531,20 @@ "type": "tidelift" } ], - "time": "2022-01-04T09:04:05+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.24.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "749045c69efb97c70d25d7463abba812e91f3a44" + "reference": "639084e360537a19f9ee352433b84ce831f3d2da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/749045c69efb97c70d25d7463abba812e91f3a44", - "reference": "749045c69efb97c70d25d7463abba812e91f3a44", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da", + "reference": "639084e360537a19f9ee352433b84ce831f3d2da", "shasum": "" }, "require": { @@ -2489,7 +2558,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2497,12 +2566,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2533,7 +2602,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.24.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.27.0" }, "funding": [ { @@ -2549,20 +2618,20 @@ "type": "tidelift" } ], - "time": "2021-09-14T14:02:44+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.24.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" + "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", - "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", + "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", "shasum": "" }, "require": { @@ -2574,7 +2643,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2617,7 +2686,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.24.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0" }, "funding": [ { @@ -2633,20 +2702,20 @@ "type": "tidelift" } ], - "time": "2021-02-19T12:13:01+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.24.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825" + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825", - "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", "shasum": "" }, "require": { @@ -2661,7 +2730,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2669,12 +2738,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2700,7 +2769,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.24.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" }, "funding": [ { @@ -2716,20 +2785,20 @@ "type": "tidelift" } ], - "time": "2021-11-30T18:21:41+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.24.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "9a142215a36a3888e30d0a9eeea9766764e96976" + "reference": "869329b1e9894268a8a61dabb69153029b7a8c97" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976", - "reference": "9a142215a36a3888e30d0a9eeea9766764e96976", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97", + "reference": "869329b1e9894268a8a61dabb69153029b7a8c97", "shasum": "" }, "require": { @@ -2738,7 +2807,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2746,12 +2815,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2776,7 +2845,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.24.0" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.27.0" }, "funding": [ { @@ -2792,20 +2861,20 @@ "type": "tidelift" } ], - "time": "2021-05-27T09:17:38+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.24.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "57b712b08eddb97c762a8caa32c84e037892d2e9" + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/57b712b08eddb97c762a8caa32c84e037892d2e9", - "reference": "57b712b08eddb97c762a8caa32c84e037892d2e9", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", "shasum": "" }, "require": { @@ -2814,7 +2883,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2859,7 +2928,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.24.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" }, "funding": [ { @@ -2875,35 +2944,35 @@ "type": "tidelift" } ], - "time": "2021-09-13T13:58:33+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/routing", - "version": "v6.0.1", + "version": "v6.2.5", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "362bc14e1187deaef12d1ca0e04bd919580e8e49" + "reference": "589bd742d5d03c192c8521911680fe88f61712fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/362bc14e1187deaef12d1ca0e04bd919580e8e49", - "reference": "362bc14e1187deaef12d1ca0e04bd919580e8e49", + "url": "https://api.github.com/repos/symfony/routing/zipball/589bd742d5d03c192c8521911680fe88f61712fe", + "reference": "589bd742d5d03c192c8521911680fe88f61712fe", "shasum": "" }, "require": { - "php": ">=8.0.2" + "php": ">=8.1" }, "conflict": { "doctrine/annotations": "<1.12", - "symfony/config": "<5.4", + "symfony/config": "<6.2", "symfony/dependency-injection": "<5.4", "symfony/yaml": "<5.4" }, "require-dev": { - "doctrine/annotations": "^1.12", + "doctrine/annotations": "^1.12|^2", "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", + "symfony/config": "^6.2", "symfony/dependency-injection": "^5.4|^6.0", "symfony/expression-language": "^5.4|^6.0", "symfony/http-foundation": "^5.4|^6.0", @@ -2947,7 +3016,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.0.1" + "source": "https://github.com/symfony/routing/tree/v6.2.5" }, "funding": [ { @@ -2963,20 +3032,20 @@ "type": "tidelift" } ], - "time": "2021-12-08T15:13:44+00:00" + "time": "2023-01-01T08:38:09+00:00" }, { "name": "symfony/translation", - "version": "v4.4.34", + "version": "v4.4.47", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "26d330720627b234803595ecfc0191eeabc65190" + "reference": "45036b1d53accc48fe9bab71ccd86d57eba0dd94" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/26d330720627b234803595ecfc0191eeabc65190", - "reference": "26d330720627b234803595ecfc0191eeabc65190", + "url": "https://api.github.com/repos/symfony/translation/zipball/45036b1d53accc48fe9bab71ccd86d57eba0dd94", + "reference": "45036b1d53accc48fe9bab71ccd86d57eba0dd94", "shasum": "" }, "require": { @@ -3036,7 +3105,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v4.4.34" + "source": "https://github.com/symfony/translation/tree/v4.4.47" }, "funding": [ { @@ -3052,20 +3121,20 @@ "type": "tidelift" } ], - "time": "2021-11-04T12:23:33+00:00" + "time": "2022-10-03T15:15:11+00:00" }, { "name": "symfony/translation-contracts", - "version": "v2.5.0", + "version": "v2.5.2", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "d28150f0f44ce854e942b671fc2620a98aae1b1e" + "reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/d28150f0f44ce854e942b671fc2620a98aae1b1e", - "reference": "d28150f0f44ce854e942b671fc2620a98aae1b1e", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/136b19dd05cdf0709db6537d058bcab6dd6e2dbe", + "reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe", "shasum": "" }, "require": { @@ -3114,7 +3183,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v2.5.0" + "source": "https://github.com/symfony/translation-contracts/tree/v2.5.2" }, "funding": [ { @@ -3130,7 +3199,7 @@ "type": "tidelift" } ], - "time": "2021-08-17T14:20:01+00:00" + "time": "2022-06-27T16:58:25+00:00" }, { "name": "twbs/bootstrap", @@ -3191,16 +3260,16 @@ "packages-dev": [ { "name": "clue/stdio-react", - "version": "v2.5.0", + "version": "v2.6.0", "source": { "type": "git", "url": "https://github.com/clue/reactphp-stdio.git", - "reference": "c73bcdc228eca627992c0088f7bc30b794fde8da" + "reference": "dfa6c378aabdff718202d4e2453f752c38ea3399" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/clue/reactphp-stdio/zipball/c73bcdc228eca627992c0088f7bc30b794fde8da", - "reference": "c73bcdc228eca627992c0088f7bc30b794fde8da", + "url": "https://api.github.com/repos/clue/reactphp-stdio/zipball/dfa6c378aabdff718202d4e2453f752c38ea3399", + "reference": "dfa6c378aabdff718202d4e2453f752c38ea3399", "shasum": "" }, "require": { @@ -3251,7 +3320,7 @@ ], "support": { "issues": "https://github.com/clue/reactphp-stdio/issues", - "source": "https://github.com/clue/reactphp-stdio/tree/v2.5.0" + "source": "https://github.com/clue/reactphp-stdio/tree/v2.6.0" }, "funding": [ { @@ -3263,7 +3332,7 @@ "type": "github" } ], - "time": "2021-10-25T08:01:22+00:00" + "time": "2022-03-18T15:09:30+00:00" }, { "name": "clue/term-react", @@ -3403,30 +3472,30 @@ }, { "name": "doctrine/instantiator", - "version": "1.4.1", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc" + "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/10dcfce151b967d20fde1b34ae6640712c3891bc", - "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b", + "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^9", + "doctrine/coding-standard": "^9 || ^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.22" + "vimeo/psalm": "^4.30 || ^5.4" }, "type": "library", "autoload": { @@ -3453,7 +3522,7 @@ ], "support": { "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/1.4.1" + "source": "https://github.com/doctrine/instantiator/tree/1.5.0" }, "funding": [ { @@ -3469,30 +3538,30 @@ "type": "tidelift" } ], - "time": "2022-03-03T08:28:38+00:00" + "time": "2022-12-30T00:15:36+00:00" }, { "name": "jolicode/jolinotif", - "version": "v2.4.0", + "version": "v2.5.0", "source": { "type": "git", "url": "https://github.com/jolicode/JoliNotif.git", - "reference": "a15bfc0d5aef432f150385924ede4e099643edb7" + "reference": "a10a7cb3bf6dbf8833d1d1f1f0554506cb1d9eaa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jolicode/JoliNotif/zipball/a15bfc0d5aef432f150385924ede4e099643edb7", - "reference": "a15bfc0d5aef432f150385924ede4e099643edb7", + "url": "https://api.github.com/repos/jolicode/JoliNotif/zipball/a10a7cb3bf6dbf8833d1d1f1f0554506cb1d9eaa", + "reference": "a10a7cb3bf6dbf8833d1d1f1f0554506cb1d9eaa", "shasum": "" }, "require": { - "php": ">=7.4", - "symfony/process": "^4.0|^5.0|^6.0" + "php": ">=8.0", + "symfony/process": "^5.4 || ^6.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.0", - "symfony/finder": "^5.0", - "symfony/phpunit-bridge": "^5.0" + "friendsofphp/php-cs-fixer": "^3.13", + "symfony/finder": "^5.4 || ^6.0", + "symfony/phpunit-bridge": "^5.4 || ^6.0" }, "bin": [ "jolinotif" @@ -3523,7 +3592,7 @@ ], "support": { "issues": "https://github.com/jolicode/JoliNotif/issues", - "source": "https://github.com/jolicode/JoliNotif/tree/v2.4.0" + "source": "https://github.com/jolicode/JoliNotif/tree/v2.5.0" }, "funding": [ { @@ -3531,7 +3600,7 @@ "type": "tidelift" } ], - "time": "2021-12-01T16:20:42+00:00" + "time": "2022-12-24T13:38:12+00:00" }, { "name": "myclabs/deep-copy", @@ -3594,16 +3663,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.15.1", + "version": "v4.15.3", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900" + "reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/0ef6c55a3f47f89d7a374e6f835197a0b5fcf900", - "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/570e980a201d8ed0236b0a62ddf2c9cbb2034039", + "reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039", "shasum": "" }, "require": { @@ -3644,9 +3713,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.3" }, - "time": "2022-09-04T07:30:47+00:00" + "time": "2023-01-16T22:05:37+00:00" }, { "name": "phar-io/manifest", @@ -3761,16 +3830,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "9.2.18", + "version": "9.2.24", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "12fddc491826940cf9b7e88ad9664cf51f0f6d0a" + "reference": "2cf940ebc6355a9d430462811b5aaa308b174bed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/12fddc491826940cf9b7e88ad9664cf51f0f6d0a", - "reference": "12fddc491826940cf9b7e88ad9664cf51f0f6d0a", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2cf940ebc6355a9d430462811b5aaa308b174bed", + "reference": "2cf940ebc6355a9d430462811b5aaa308b174bed", "shasum": "" }, "require": { @@ -3826,7 +3895,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.18" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.24" }, "funding": [ { @@ -3834,7 +3903,7 @@ "type": "github" } ], - "time": "2022-10-27T13:35:33+00:00" + "time": "2023-01-26T08:26:55+00:00" }, { "name": "phpunit/php-file-iterator", @@ -5209,20 +5278,21 @@ }, { "name": "symfony/console", - "version": "v6.0.3", + "version": "v6.2.5", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "22e8efd019c3270c4f79376234a3f8752cd25490" + "reference": "3e294254f2191762c1d137aed4b94e966965e985" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/22e8efd019c3270c4f79376234a3f8752cd25490", - "reference": "22e8efd019c3270c4f79376234a3f8752cd25490", + "url": "https://api.github.com/repos/symfony/console/zipball/3e294254f2191762c1d137aed4b94e966965e985", + "reference": "3e294254f2191762c1d137aed4b94e966965e985", "shasum": "" }, "require": { - "php": ">=8.0.2", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^1.1|^2|^3", "symfony/string": "^5.4|^6.0" @@ -5284,7 +5354,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.0.3" + "source": "https://github.com/symfony/console/tree/v6.2.5" }, "funding": [ { @@ -5300,20 +5370,20 @@ "type": "tidelift" } ], - "time": "2022-01-26T17:23:29+00:00" + "time": "2023-01-01T08:38:09+00:00" }, { "name": "symfony/finder", - "version": "v5.4.3", + "version": "v5.4.19", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "231313534dded84c7ecaa79d14bc5da4ccb69b7d" + "reference": "6071aebf810ad13fe8200c224f36103abb37cf1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/231313534dded84c7ecaa79d14bc5da4ccb69b7d", - "reference": "231313534dded84c7ecaa79d14bc5da4ccb69b7d", + "url": "https://api.github.com/repos/symfony/finder/zipball/6071aebf810ad13fe8200c224f36103abb37cf1f", + "reference": "6071aebf810ad13fe8200c224f36103abb37cf1f", "shasum": "" }, "require": { @@ -5347,7 +5417,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.3" + "source": "https://github.com/symfony/finder/tree/v5.4.19" }, "funding": [ { @@ -5363,20 +5433,20 @@ "type": "tidelift" } ], - "time": "2022-01-26T16:34:36+00:00" + "time": "2023-01-14T19:14:44+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4" + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4", - "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", "shasum": "" }, "require": { @@ -5391,7 +5461,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5429,7 +5499,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" }, "funding": [ { @@ -5445,20 +5515,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.24.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "81b86b50cf841a64252b439e738e97f4a34e2783" + "reference": "511a08c03c1960e08a883f4cffcacd219b758354" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/81b86b50cf841a64252b439e738e97f4a34e2783", - "reference": "81b86b50cf841a64252b439e738e97f4a34e2783", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354", + "reference": "511a08c03c1960e08a883f4cffcacd219b758354", "shasum": "" }, "require": { @@ -5470,7 +5540,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5510,7 +5580,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.24.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0" }, "funding": [ { @@ -5526,24 +5596,24 @@ "type": "tidelift" } ], - "time": "2021-11-23T21:10:46+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/process", - "version": "v6.0.3", + "version": "v6.2.5", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "298ed357274c1868c20a0061df256a1250a6c4af" + "reference": "9ead139f63dfa38c4e4a9049cc64a8b2748c83b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/298ed357274c1868c20a0061df256a1250a6c4af", - "reference": "298ed357274c1868c20a0061df256a1250a6c4af", + "url": "https://api.github.com/repos/symfony/process/zipball/9ead139f63dfa38c4e4a9049cc64a8b2748c83b7", + "reference": "9ead139f63dfa38c4e4a9049cc64a8b2748c83b7", "shasum": "" }, "require": { - "php": ">=8.0.2" + "php": ">=8.1" }, "type": "library", "autoload": { @@ -5571,7 +5641,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.0.3" + "source": "https://github.com/symfony/process/tree/v6.2.5" }, "funding": [ { @@ -5587,24 +5657,24 @@ "type": "tidelift" } ], - "time": "2022-01-26T17:23:29+00:00" + "time": "2023-01-01T08:38:09+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.0.0", + "version": "v3.2.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "36715ebf9fb9db73db0cb24263c79077c6fe8603" + "reference": "aac98028c69df04ee77eb69b96b86ee51fbf4b75" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/36715ebf9fb9db73db0cb24263c79077c6fe8603", - "reference": "36715ebf9fb9db73db0cb24263c79077c6fe8603", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/aac98028c69df04ee77eb69b96b86ee51fbf4b75", + "reference": "aac98028c69df04ee77eb69b96b86ee51fbf4b75", "shasum": "" }, "require": { - "php": ">=8.0.2", + "php": ">=8.1", "psr/container": "^2.0" }, "conflict": { @@ -5616,7 +5686,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "3.3-dev" }, "thanks": { "name": "symfony/contracts", @@ -5626,7 +5696,10 @@ "autoload": { "psr-4": { "Symfony\\Contracts\\Service\\": "" - } + }, + "exclude-from-classmap": [ + "/Test/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -5653,7 +5726,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.0.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.2.0" }, "funding": [ { @@ -5669,24 +5742,24 @@ "type": "tidelift" } ], - "time": "2021-11-04T17:53:12+00:00" + "time": "2022-11-25T10:21:52+00:00" }, { "name": "symfony/string", - "version": "v6.0.3", + "version": "v6.2.5", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "522144f0c4c004c80d56fa47e40e17028e2eefc2" + "reference": "b2dac0fa27b1ac0f9c0c0b23b43977f12308d0b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/522144f0c4c004c80d56fa47e40e17028e2eefc2", - "reference": "522144f0c4c004c80d56fa47e40e17028e2eefc2", + "url": "https://api.github.com/repos/symfony/string/zipball/b2dac0fa27b1ac0f9c0c0b23b43977f12308d0b0", + "reference": "b2dac0fa27b1ac0f9c0c0b23b43977f12308d0b0", "shasum": "" }, "require": { - "php": ">=8.0.2", + "php": ">=8.1", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", @@ -5698,17 +5771,18 @@ "require-dev": { "symfony/error-handler": "^5.4|^6.0", "symfony/http-client": "^5.4|^6.0", + "symfony/intl": "^6.2", "symfony/translation-contracts": "^2.0|^3.0", "symfony/var-exporter": "^5.4|^6.0" }, "type": "library", "autoload": { - "psr-4": { - "Symfony\\Component\\String\\": "" - }, "files": [ "Resources/functions.php" ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, "exclude-from-classmap": [ "/Tests/" ] @@ -5738,7 +5812,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.0.3" + "source": "https://github.com/symfony/string/tree/v6.2.5" }, "funding": [ { @@ -5754,24 +5828,24 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:55:41+00:00" + "time": "2023-01-01T08:38:09+00:00" }, { "name": "symfony/yaml", - "version": "v6.0.3", + "version": "v6.2.5", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "e77f3ea0b21141d771d4a5655faa54f692b34af5" + "reference": "2bbfbdacc8a15574f8440c4838ce0d7bb6c86b19" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/e77f3ea0b21141d771d4a5655faa54f692b34af5", - "reference": "e77f3ea0b21141d771d4a5655faa54f692b34af5", + "url": "https://api.github.com/repos/symfony/yaml/zipball/2bbfbdacc8a15574f8440c4838ce0d7bb6c86b19", + "reference": "2bbfbdacc8a15574f8440c4838ce0d7bb6c86b19", "shasum": "" }, "require": { - "php": ">=8.0.2", + "php": ">=8.1", "symfony/polyfill-ctype": "^1.8" }, "conflict": { @@ -5812,7 +5886,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v6.0.3" + "source": "https://github.com/symfony/yaml/tree/v6.2.5" }, "funding": [ { @@ -5828,7 +5902,7 @@ "type": "tidelift" } ], - "time": "2022-01-26T17:23:29+00:00" + "time": "2023-01-10T18:53:53+00:00" }, { "name": "theseer/tokenizer", From 4d225b5e4df2dabe0ac2cdcdcd939ec2b826106f Mon Sep 17 00:00:00 2001 From: Roy R Date: Mon, 30 Jan 2023 00:09:37 -0500 Subject: [PATCH 16/22] One more special property on DAO base class. --- deploy/lib/data/DataAccessObject.php | 1 + 1 file changed, 1 insertion(+) diff --git a/deploy/lib/data/DataAccessObject.php b/deploy/lib/data/DataAccessObject.php index 8e4a4133b..ecbcbc5ea 100644 --- a/deploy/lib/data/DataAccessObject.php +++ b/deploy/lib/data/DataAccessObject.php @@ -5,6 +5,7 @@ use NinjaWars\core\data\DatabaseConnection; use NinjaWars\core\data\ValueObject; +#[\AllowDynamicProperties] abstract class DataAccessObject { protected $m_dbconn; // *** DatabaseConnection object. From d22cdbe4b3653cc79d08086e0276fbdfdbaf86f6 Mon Sep 17 00:00:00 2001 From: Roy Ronalds Date: Sun, 29 Jan 2023 20:30:02 -0500 Subject: [PATCH 17/22] Change message for clarity. --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 73d11de19..745263787 100644 --- a/Makefile +++ b/Makefile @@ -37,7 +37,8 @@ conf-resources: echo "Note that this does not overwrite existing resources.php" build: conf-resources dep - @echo "Running build" + @echo " ====== Continuing app-specific parts of the build ====" + @echo "Building the deps, linking the components, and building static .html" @ln -sf "$(RELATIVE_COMPONENTS)jquery/jquery.min.js" "$(JS)" @ln -sf "$(RELATIVE_COMPONENTS)jquery/jquery.min.map" "$(JS)" @ln -sf "$(RELATIVE_COMPONENTS)jquery-timeago/jquery.timeago.js" "$(JS)" From 0f7744bbeb65550e3f1562ae3f4d9d22a6017f58 Mon Sep 17 00:00:00 2001 From: Roy Ronalds Date: Mon, 30 Jan 2023 11:10:18 -0500 Subject: [PATCH 18/22] Minor comment for php workflow todo for github token. --- .github/workflows/php.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml index a9265dd8a..b5bd4fcc7 100644 --- a/.github/workflows/php.yml +++ b/.github/workflows/php.yml @@ -45,7 +45,9 @@ jobs: - name: Install dependencies if: steps.composer-cache.outputs.cache-hit != 'true' - run: ./composer.phar install --prefer-dist --no-progress --no-suggest + run: | + ./composer.phar install --prefer-dist --no-progress + echo "todo put github access token in here" - name: Create autoload file if necessary if: steps.composer-cache.outputs.cache-hit == 'true' From a5a08ea7d6588dd74804391ff79118ee73555735 Mon Sep 17 00:00:00 2001 From: Roy Ronalds Date: Mon, 30 Jan 2023 11:59:11 -0500 Subject: [PATCH 19/22] makefile cleanup continued. --- Makefile | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 745263787..8d21fa930 100644 --- a/Makefile +++ b/Makefile @@ -36,16 +36,15 @@ conf-resources: cp -upn ./deploy/resources.build.php ./deploy/resources.php || true echo "Note that this does not overwrite existing resources.php" -build: conf-resources dep +build: conf-resources dep check-base @echo " ====== Continuing app-specific parts of the build ====" - @echo "Building the deps, linking the components, and building static .html" + @echo "Building the deps, linking the components, and building static .html" @ln -sf "$(RELATIVE_COMPONENTS)jquery/jquery.min.js" "$(JS)" @ln -sf "$(RELATIVE_COMPONENTS)jquery/jquery.min.map" "$(JS)" @ln -sf "$(RELATIVE_COMPONENTS)jquery-timeago/jquery.timeago.js" "$(JS)" @ln -sf "$(RELATIVE_COMPONENTS)jquery-linkify/jquery.linkify.js" "$(JS)" @ln -sf "$(RELATIVE_VENDOR)twbs/bootstrap/dist/css/bootstrap.min.css" "$(CSS)" @ln -sf "$(RELATIVE_VENDOR)twbs/bootstrap/dist/js/bootstrap.min.js" "$(JS)" - make check-base php deploy/www/intro-controller.php > deploy/www/intro.html php deploy/www/front-controller.php > deploy/www/index.html php deploy/www/login-controller.php > deploy/www/login.html @@ -79,7 +78,7 @@ postcheck: php ./deploy/check.php echo "Check that the webserver user has permissions to the script!" -install: preconfig create-directories build postcheck +install: conf-resources preconfig create-directories build postcheck install-admin: preconfig build start-chat writable postcheck From 845e010d3d630d6b9e39ee73f4ee51baab6a7820 Mon Sep 17 00:00:00 2001 From: Roy Ronalds Date: Mon, 30 Jan 2023 12:53:00 -0500 Subject: [PATCH 20/22] Rollback composer.lock to master. --- composer.lock | 710 ++++++++++++++++++++++---------------------------- 1 file changed, 318 insertions(+), 392 deletions(-) diff --git a/composer.lock b/composer.lock index d076e6fd8..61706fe7d 100644 --- a/composer.lock +++ b/composer.lock @@ -120,16 +120,16 @@ }, { "name": "composer/installers", - "version": "v2.2.0", + "version": "v2.0.1", "source": { "type": "git", "url": "https://github.com/composer/installers.git", - "reference": "c29dc4b93137acb82734f672c37e029dfbd95b35" + "reference": "a241e78aaeb09781f5f5b92ac01ffd13ab43e5e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/installers/zipball/c29dc4b93137acb82734f672c37e029dfbd95b35", - "reference": "c29dc4b93137acb82734f672c37e029dfbd95b35", + "url": "https://api.github.com/repos/composer/installers/zipball/a241e78aaeb09781f5f5b92ac01ffd13ab43e5e8", + "reference": "a241e78aaeb09781f5f5b92ac01ffd13ab43e5e8", "shasum": "" }, "require": { @@ -149,8 +149,7 @@ "class": "Composer\\Installers\\Plugin", "branch-alias": { "dev-main": "2.x-dev" - }, - "plugin-modifies-install-path": true + } }, "autoload": { "psr-4": { @@ -217,7 +216,6 @@ "magento", "majima", "mako", - "matomo", "mediawiki", "miaoxing", "modulework", @@ -245,7 +243,7 @@ ], "support": { "issues": "https://github.com/composer/installers/issues", - "source": "https://github.com/composer/installers/tree/v2.2.0" + "source": "https://github.com/composer/installers/tree/v2.0.1" }, "funding": [ { @@ -261,50 +259,7 @@ "type": "tidelift" } ], - "time": "2022-08-20T06:45:11+00:00" - }, - { - "name": "doctrine/deprecations", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/deprecations.git", - "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", - "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", - "shasum": "" - }, - "require": { - "php": "^7.1|^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^9", - "phpunit/phpunit": "^7.5|^8.5|^9.5", - "psr/log": "^1|^2|^3" - }, - "suggest": { - "psr/log": "Allows logging deprecations via PSR-3 logger implementation" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", - "homepage": "https://www.doctrine-project.org/", - "support": { - "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/v1.0.0" - }, - "time": "2022-05-02T15:47:09+00:00" + "time": "2021-09-13T08:21:20+00:00" }, { "name": "doctrine/inflector", @@ -338,8 +293,8 @@ }, "autoload": { "psr-4": { - "Doctrine\\Inflector\\": "lib/Doctrine/Inflector", - "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" + "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector", + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" } }, "notification-url": "https://packagist.org/downloads/", @@ -404,33 +359,35 @@ }, { "name": "doctrine/lexer", - "version": "2.1.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124" + "reference": "e864bbf5904cb8f5bb334f99209b48018522f042" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/39ab8fcf5a51ce4b85ca97c7a7d033eb12831124", - "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042", + "reference": "e864bbf5904cb8f5bb334f99209b48018522f042", "shasum": "" }, "require": { - "doctrine/deprecations": "^1.0", - "php": "^7.1 || ^8.0" + "php": "^7.2 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^9 || ^10", - "phpstan/phpstan": "^1.3", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "psalm/plugin-phpunit": "^0.18.3", - "vimeo/psalm": "^4.11 || ^5.0" + "doctrine/coding-standard": "^6.0", + "phpstan/phpstan": "^0.11.8", + "phpunit/phpunit": "^8.2" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, "autoload": { "psr-4": { - "Doctrine\\Common\\Lexer\\": "src" + "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" } }, "notification-url": "https://packagist.org/downloads/", @@ -462,7 +419,7 @@ ], "support": { "issues": "https://github.com/doctrine/lexer/issues", - "source": "https://github.com/doctrine/lexer/tree/2.1.0" + "source": "https://github.com/doctrine/lexer/tree/1.2.1" }, "funding": [ { @@ -478,28 +435,29 @@ "type": "tidelift" } ], - "time": "2022-12-14T08:49:07+00:00" + "time": "2020-05-25T17:44:05+00:00" }, { "name": "egulias/email-validator", - "version": "3.2.5", + "version": "3.1.2", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "b531a2311709443320c786feb4519cfaf94af796" + "reference": "ee0db30118f661fb166bcffbf5d82032df484697" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/b531a2311709443320c786feb4519cfaf94af796", - "reference": "b531a2311709443320c786feb4519cfaf94af796", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ee0db30118f661fb166bcffbf5d82032df484697", + "reference": "ee0db30118f661fb166bcffbf5d82032df484697", "shasum": "" }, "require": { - "doctrine/lexer": "^1.2|^2", + "doctrine/lexer": "^1.2", "php": ">=7.2", "symfony/polyfill-intl-idn": "^1.15" }, "require-dev": { + "php-coveralls/php-coveralls": "^2.2", "phpunit/phpunit": "^8.5.8|^9.3.3", "vimeo/psalm": "^4" }, @@ -537,7 +495,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/3.1.2" }, "funding": [ { @@ -545,7 +503,7 @@ "type": "github" } ], - "time": "2023-01-02T17:26:14+00:00" + "time": "2021-10-11T09:18:27+00:00" }, { "name": "evenement/evenement", @@ -596,16 +554,16 @@ }, { "name": "guzzlehttp/psr7", - "version": "2.4.3", + "version": "2.2.1", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "67c26b443f348a51926030c83481b85718457d3d" + "reference": "c94a94f120803a18554c1805ef2e539f8285f9a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/67c26b443f348a51926030c83481b85718457d3d", - "reference": "67c26b443f348a51926030c83481b85718457d3d", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/c94a94f120803a18554c1805ef2e539f8285f9a2", + "reference": "c94a94f120803a18554c1805ef2e539f8285f9a2", "shasum": "" }, "require": { @@ -619,21 +577,17 @@ "psr/http-message-implementation": "1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.1", + "bamarni/composer-bin-plugin": "^1.4.1", "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.29 || ^9.5.23" + "phpunit/phpunit": "^8.5.8 || ^9.3.10" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" }, "type": "library", "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - }, "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "2.2-dev" } }, "autoload": { @@ -695,7 +649,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.4.3" + "source": "https://github.com/guzzle/psr7/tree/2.2.1" }, "funding": [ { @@ -711,7 +665,7 @@ "type": "tidelift" } ], - "time": "2022-10-26T14:07:24+00:00" + "time": "2022-03-20T21:55:58+00:00" }, { "name": "illuminate/container", @@ -906,12 +860,12 @@ } }, "autoload": { - "files": [ - "helpers.php" - ], "psr-4": { "Illuminate\\Support\\": "" - } + }, + "files": [ + "helpers.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1143,23 +1097,23 @@ }, { "name": "paragonie/random_compat", - "version": "v2.0.21", + "version": "v2.0.20", "source": { "type": "git", "url": "https://github.com/paragonie/random_compat.git", - "reference": "96c132c7f2f7bc3230723b66e89f8f150b29d5ae" + "reference": "0f1f60250fccffeaf5dda91eea1c018aed1adc2a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/96c132c7f2f7bc3230723b66e89f8f150b29d5ae", - "reference": "96c132c7f2f7bc3230723b66e89f8f150b29d5ae", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/0f1f60250fccffeaf5dda91eea1c018aed1adc2a", + "reference": "0f1f60250fccffeaf5dda91eea1c018aed1adc2a", "shasum": "" }, "require": { "php": ">=5.2.0" }, "require-dev": { - "phpunit/phpunit": "*" + "phpunit/phpunit": "4.*|5.*" }, "suggest": { "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." @@ -1193,7 +1147,7 @@ "issues": "https://github.com/paragonie/random_compat/issues", "source": "https://github.com/paragonie/random_compat" }, - "time": "2022-02-16T17:07:03+00:00" + "time": "2021-04-17T09:33:01+00:00" }, { "name": "pimple/pimple", @@ -1512,16 +1466,16 @@ }, { "name": "react/cache", - "version": "v1.2.0", + "version": "v1.1.1", "source": { "type": "git", "url": "https://github.com/reactphp/cache.git", - "reference": "d47c472b64aa5608225f47965a484b75c7817d5b" + "reference": "4bf736a2cccec7298bdf745db77585966fc2ca7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/cache/zipball/d47c472b64aa5608225f47965a484b75c7817d5b", - "reference": "d47c472b64aa5608225f47965a484b75c7817d5b", + "url": "https://api.github.com/repos/reactphp/cache/zipball/4bf736a2cccec7298bdf745db77585966fc2ca7e", + "reference": "4bf736a2cccec7298bdf745db77585966fc2ca7e", "shasum": "" }, "require": { @@ -1529,7 +1483,7 @@ "react/promise": "^3.0 || ^2.0 || ^1.1" }, "require-dev": { - "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35" + "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35" }, "type": "library", "autoload": { @@ -1572,28 +1526,32 @@ ], "support": { "issues": "https://github.com/reactphp/cache/issues", - "source": "https://github.com/reactphp/cache/tree/v1.2.0" + "source": "https://github.com/reactphp/cache/tree/v1.1.1" }, "funding": [ { - "url": "https://opencollective.com/reactphp", - "type": "open_collective" + "url": "https://github.com/WyriHaximus", + "type": "github" + }, + { + "url": "https://github.com/clue", + "type": "github" } ], - "time": "2022-11-30T15:59:55+00:00" + "time": "2021-02-02T06:47:52+00:00" }, { "name": "react/dns", - "version": "v1.10.0", + "version": "v1.9.0", "source": { "type": "git", "url": "https://github.com/reactphp/dns.git", - "reference": "a5427e7dfa47713e438016905605819d101f238c" + "reference": "6d38296756fa644e6cb1bfe95eff0f9a4ed6edcb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/dns/zipball/a5427e7dfa47713e438016905605819d101f238c", - "reference": "a5427e7dfa47713e438016905605819d101f238c", + "url": "https://api.github.com/repos/reactphp/dns/zipball/6d38296756fa644e6cb1bfe95eff0f9a4ed6edcb", + "reference": "6d38296756fa644e6cb1bfe95eff0f9a4ed6edcb", "shasum": "" }, "require": { @@ -1601,11 +1559,11 @@ "react/cache": "^1.0 || ^0.6 || ^0.5", "react/event-loop": "^1.2", "react/promise": "^3.0 || ^2.7 || ^1.2.1", - "react/promise-timer": "^1.9" + "react/promise-timer": "^1.8" }, "require-dev": { - "phpunit/phpunit": "^9.3 || ^4.8.35", - "react/async": "^4 || ^3 || ^2" + "clue/block-react": "^1.2", + "phpunit/phpunit": "^9.3 || ^4.8.35" }, "type": "library", "autoload": { @@ -1648,7 +1606,7 @@ ], "support": { "issues": "https://github.com/reactphp/dns/issues", - "source": "https://github.com/reactphp/dns/tree/v1.10.0" + "source": "https://github.com/reactphp/dns/tree/v1.9.0" }, "funding": [ { @@ -1660,20 +1618,20 @@ "type": "github" } ], - "time": "2022-09-08T12:22:46+00:00" + "time": "2021-12-20T08:46:54+00:00" }, { "name": "react/event-loop", - "version": "v1.3.0", + "version": "v1.2.0", "source": { "type": "git", "url": "https://github.com/reactphp/event-loop.git", - "reference": "187fb56f46d424afb6ec4ad089269c72eec2e137" + "reference": "be6dee480fc4692cec0504e65eb486e3be1aa6f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/event-loop/zipball/187fb56f46d424afb6ec4ad089269c72eec2e137", - "reference": "187fb56f46d424afb6ec4ad089269c72eec2e137", + "url": "https://api.github.com/repos/reactphp/event-loop/zipball/be6dee480fc4692cec0504e65eb486e3be1aa6f2", + "reference": "be6dee480fc4692cec0504e65eb486e3be1aa6f2", "shasum": "" }, "require": { @@ -1726,7 +1684,7 @@ ], "support": { "issues": "https://github.com/reactphp/event-loop/issues", - "source": "https://github.com/reactphp/event-loop/tree/v1.3.0" + "source": "https://github.com/reactphp/event-loop/tree/v1.2.0" }, "funding": [ { @@ -1738,36 +1696,36 @@ "type": "github" } ], - "time": "2022-03-17T11:10:22+00:00" + "time": "2021-07-11T12:31:24+00:00" }, { "name": "react/promise", - "version": "v2.9.0", + "version": "v2.8.0", "source": { "type": "git", "url": "https://github.com/reactphp/promise.git", - "reference": "234f8fd1023c9158e2314fa9d7d0e6a83db42910" + "reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/234f8fd1023c9158e2314fa9d7d0e6a83db42910", - "reference": "234f8fd1023c9158e2314fa9d7d0e6a83db42910", + "url": "https://api.github.com/repos/reactphp/promise/zipball/f3cff96a19736714524ca0dd1d4130de73dbbbc4", + "reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4", "shasum": "" }, "require": { "php": ">=5.4.0" }, "require-dev": { - "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.36" + "phpunit/phpunit": "^7.0 || ^6.5 || ^5.7 || ^4.8.36" }, "type": "library", "autoload": { - "files": [ - "src/functions_include.php" - ], "psr-4": { "React\\Promise\\": "src/" - } + }, + "files": [ + "src/functions_include.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1776,23 +1734,7 @@ "authors": [ { "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" - }, - { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" + "email": "jsorgalla@gmail.com" } ], "description": "A lightweight implementation of CommonJS Promises/A for PHP", @@ -1802,32 +1744,22 @@ ], "support": { "issues": "https://github.com/reactphp/promise/issues", - "source": "https://github.com/reactphp/promise/tree/v2.9.0" + "source": "https://github.com/reactphp/promise/tree/v2.8.0" }, - "funding": [ - { - "url": "https://github.com/WyriHaximus", - "type": "github" - }, - { - "url": "https://github.com/clue", - "type": "github" - } - ], - "time": "2022-02-11T10:27:51+00:00" + "time": "2020-05-12T15:16:56+00:00" }, { "name": "react/promise-timer", - "version": "v1.9.0", + "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/reactphp/promise-timer.git", - "reference": "aa7a73c74b8d8c0f622f5982ff7b0351bc29e495" + "reference": "0bbbcc79589e5bfdddba68a287f1cb805581a479" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise-timer/zipball/aa7a73c74b8d8c0f622f5982ff7b0351bc29e495", - "reference": "aa7a73c74b8d8c0f622f5982ff7b0351bc29e495", + "url": "https://api.github.com/repos/reactphp/promise-timer/zipball/0bbbcc79589e5bfdddba68a287f1cb805581a479", + "reference": "0bbbcc79589e5bfdddba68a287f1cb805581a479", "shasum": "" }, "require": { @@ -1840,12 +1772,12 @@ }, "type": "library", "autoload": { - "files": [ - "src/functions_include.php" - ], "psr-4": { "React\\Promise\\Timer\\": "src/" - } + }, + "files": [ + "src/functions_include.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1885,7 +1817,7 @@ ], "support": { "issues": "https://github.com/reactphp/promise-timer/issues", - "source": "https://github.com/reactphp/promise-timer/tree/v1.9.0" + "source": "https://github.com/reactphp/promise-timer/tree/v1.8.0" }, "funding": [ { @@ -1897,20 +1829,20 @@ "type": "github" } ], - "time": "2022-06-13T13:41:03+00:00" + "time": "2021-12-06T11:08:48+00:00" }, { "name": "react/socket", - "version": "v1.12.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/reactphp/socket.git", - "reference": "81e1b4d7f5450ebd8d2e9a95bb008bb15ca95a7b" + "reference": "d132fde589ea97f4165f2d94b5296499eac125ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/socket/zipball/81e1b4d7f5450ebd8d2e9a95bb008bb15ca95a7b", - "reference": "81e1b4d7f5450ebd8d2e9a95bb008bb15ca95a7b", + "url": "https://api.github.com/repos/reactphp/socket/zipball/d132fde589ea97f4165f2d94b5296499eac125ec", + "reference": "d132fde589ea97f4165f2d94b5296499eac125ec", "shasum": "" }, "require": { @@ -1918,14 +1850,14 @@ "php": ">=5.3.0", "react/dns": "^1.8", "react/event-loop": "^1.2", - "react/promise": "^3 || ^2.6 || ^1.2.1", - "react/promise-timer": "^1.9", + "react/promise": "^2.6.0 || ^1.2.1", + "react/promise-timer": "^1.4.0", "react/stream": "^1.2" }, "require-dev": { + "clue/block-react": "^1.2", "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35", - "react/async": "^4 || ^3 || ^2", - "react/promise-stream": "^1.4" + "react/promise-stream": "^1.2" }, "type": "library", "autoload": { @@ -1969,7 +1901,7 @@ ], "support": { "issues": "https://github.com/reactphp/socket/issues", - "source": "https://github.com/reactphp/socket/tree/v1.12.0" + "source": "https://github.com/reactphp/socket/tree/v1.10.0" }, "funding": [ { @@ -1981,7 +1913,7 @@ "type": "github" } ], - "time": "2022-08-25T12:32:25+00:00" + "time": "2021-11-29T10:08:24+00:00" }, { "name": "react/stream", @@ -2091,16 +2023,16 @@ }, { "name": "smarty/smarty", - "version": "v4.3.0", + "version": "v4.2.1", "source": { "type": "git", "url": "https://github.com/smarty-php/smarty.git", - "reference": "c02e9e135ea719b91f457a0072748ded0e852e7d" + "reference": "ffa2b81a8e354a49fd8a2f24742dc9dc399e8007" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/smarty-php/smarty/zipball/c02e9e135ea719b91f457a0072748ded0e852e7d", - "reference": "c02e9e135ea719b91f457a0072748ded0e852e7d", + "url": "https://api.github.com/repos/smarty-php/smarty/zipball/ffa2b81a8e354a49fd8a2f24742dc9dc399e8007", + "reference": "ffa2b81a8e354a49fd8a2f24742dc9dc399e8007", "shasum": "" }, "require": { @@ -2151,9 +2083,9 @@ "support": { "forum": "https://github.com/smarty-php/smarty/discussions", "issues": "https://github.com/smarty-php/smarty/issues", - "source": "https://github.com/smarty-php/smarty/tree/v4.3.0" + "source": "https://github.com/smarty-php/smarty/tree/v4.2.1" }, - "time": "2022-11-22T21:47:32+00:00" + "time": "2022-09-14T10:59:01+00:00" }, { "name": "swiftmailer/swiftmailer", @@ -2233,25 +2165,25 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v3.2.0", + "version": "v3.0.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "1ee04c65529dea5d8744774d474e7cbd2f1206d3" + "reference": "c726b64c1ccfe2896cb7df2e1331c357ad1c8ced" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/1ee04c65529dea5d8744774d474e7cbd2f1206d3", - "reference": "1ee04c65529dea5d8744774d474e7cbd2f1206d3", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/c726b64c1ccfe2896cb7df2e1331c357ad1c8ced", + "reference": "c726b64c1ccfe2896cb7df2e1331c357ad1c8ced", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.0.2" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.3-dev" + "dev-main": "3.0-dev" }, "thanks": { "name": "symfony/contracts", @@ -2280,7 +2212,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.2.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.0.0" }, "funding": [ { @@ -2296,20 +2228,20 @@ "type": "tidelift" } ], - "time": "2022-11-25T10:21:52+00:00" + "time": "2021-11-01T23:48:49+00:00" }, { "name": "symfony/http-foundation", - "version": "v4.4.49", + "version": "v4.4.34", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "191413c7b832c015bb38eae963f2e57498c3c173" + "reference": "f4cbbb6fc428588ce8373802461e7fe84e6809ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/191413c7b832c015bb38eae963f2e57498c3c173", - "reference": "191413c7b832c015bb38eae963f2e57498c3c173", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f4cbbb6fc428588ce8373802461e7fe84e6809ab", + "reference": "f4cbbb6fc428588ce8373802461e7fe84e6809ab", "shasum": "" }, "require": { @@ -2348,7 +2280,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v4.4.49" + "source": "https://github.com/symfony/http-foundation/tree/v4.4.34" }, "funding": [ { @@ -2364,20 +2296,20 @@ "type": "tidelift" } ], - "time": "2022-11-04T16:17:57+00:00" + "time": "2021-11-04T12:23:33+00:00" }, { "name": "symfony/mime", - "version": "v5.4.19", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "a858429a9c704edc53fe057228cf9ca282ba48eb" + "reference": "d4365000217b67c01acff407573906ff91bcfb34" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/a858429a9c704edc53fe057228cf9ca282ba48eb", - "reference": "a858429a9c704edc53fe057228cf9ca282ba48eb", + "url": "https://api.github.com/repos/symfony/mime/zipball/d4365000217b67c01acff407573906ff91bcfb34", + "reference": "d4365000217b67c01acff407573906ff91bcfb34", "shasum": "" }, "require": { @@ -2391,16 +2323,15 @@ "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": "<4.4" }, "require-dev": { - "egulias/email-validator": "^2.1.10|^3.1|^4", + "egulias/email-validator": "^2.1.10|^3.1", "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/serializer": "^5.2|^6.0" }, "type": "library", "autoload": { @@ -2432,7 +2363,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v5.4.19" + "source": "https://github.com/symfony/mime/tree/v5.4.0" }, "funding": [ { @@ -2448,20 +2379,20 @@ "type": "tidelift" } ], - "time": "2023-01-09T05:43:46+00:00" + "time": "2021-11-23T10:19:22+00:00" }, { "name": "symfony/polyfill-iconv", - "version": "v1.27.0", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "927013f3aac555983a5059aada98e1907d842695" + "reference": "f1aed619e28cb077fc83fac8c4c0383578356e40" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/927013f3aac555983a5059aada98e1907d842695", - "reference": "927013f3aac555983a5059aada98e1907d842695", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/f1aed619e28cb077fc83fac8c4c0383578356e40", + "reference": "f1aed619e28cb077fc83fac8c4c0383578356e40", "shasum": "" }, "require": { @@ -2476,7 +2407,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2484,12 +2415,12 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { "Symfony\\Polyfill\\Iconv\\": "" - } + }, + "files": [ + "bootstrap.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2515,7 +2446,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.24.0" }, "funding": [ { @@ -2531,20 +2462,20 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2022-01-04T09:04:05+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.27.0", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "639084e360537a19f9ee352433b84ce831f3d2da" + "reference": "749045c69efb97c70d25d7463abba812e91f3a44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da", - "reference": "639084e360537a19f9ee352433b84ce831f3d2da", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/749045c69efb97c70d25d7463abba812e91f3a44", + "reference": "749045c69efb97c70d25d7463abba812e91f3a44", "shasum": "" }, "require": { @@ -2558,7 +2489,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2566,12 +2497,12 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { "Symfony\\Polyfill\\Intl\\Idn\\": "" - } + }, + "files": [ + "bootstrap.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2602,7 +2533,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.24.0" }, "funding": [ { @@ -2618,20 +2549,20 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2021-09-14T14:02:44+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.27.0", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", - "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8", "shasum": "" }, "require": { @@ -2643,7 +2574,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2686,7 +2617,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.24.0" }, "funding": [ { @@ -2702,20 +2633,20 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2021-02-19T12:13:01+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.27.0", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" + "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", - "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825", + "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825", "shasum": "" }, "require": { @@ -2730,7 +2661,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2738,12 +2669,12 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { "Symfony\\Polyfill\\Mbstring\\": "" - } + }, + "files": [ + "bootstrap.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2769,7 +2700,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.24.0" }, "funding": [ { @@ -2785,20 +2716,20 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2021-11-30T18:21:41+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.27.0", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "869329b1e9894268a8a61dabb69153029b7a8c97" + "reference": "9a142215a36a3888e30d0a9eeea9766764e96976" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97", - "reference": "869329b1e9894268a8a61dabb69153029b7a8c97", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976", + "reference": "9a142215a36a3888e30d0a9eeea9766764e96976", "shasum": "" }, "require": { @@ -2807,7 +2738,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2815,12 +2746,12 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { "Symfony\\Polyfill\\Php72\\": "" - } + }, + "files": [ + "bootstrap.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2845,7 +2776,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.24.0" }, "funding": [ { @@ -2861,20 +2792,20 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2021-05-27T09:17:38+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.27.0", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" + "reference": "57b712b08eddb97c762a8caa32c84e037892d2e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", - "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/57b712b08eddb97c762a8caa32c84e037892d2e9", + "reference": "57b712b08eddb97c762a8caa32c84e037892d2e9", "shasum": "" }, "require": { @@ -2883,7 +2814,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2928,7 +2859,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.24.0" }, "funding": [ { @@ -2944,35 +2875,35 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2021-09-13T13:58:33+00:00" }, { "name": "symfony/routing", - "version": "v6.2.5", + "version": "v6.0.1", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "589bd742d5d03c192c8521911680fe88f61712fe" + "reference": "362bc14e1187deaef12d1ca0e04bd919580e8e49" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/589bd742d5d03c192c8521911680fe88f61712fe", - "reference": "589bd742d5d03c192c8521911680fe88f61712fe", + "url": "https://api.github.com/repos/symfony/routing/zipball/362bc14e1187deaef12d1ca0e04bd919580e8e49", + "reference": "362bc14e1187deaef12d1ca0e04bd919580e8e49", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.0.2" }, "conflict": { "doctrine/annotations": "<1.12", - "symfony/config": "<6.2", + "symfony/config": "<5.4", "symfony/dependency-injection": "<5.4", "symfony/yaml": "<5.4" }, "require-dev": { - "doctrine/annotations": "^1.12|^2", + "doctrine/annotations": "^1.12", "psr/log": "^1|^2|^3", - "symfony/config": "^6.2", + "symfony/config": "^5.4|^6.0", "symfony/dependency-injection": "^5.4|^6.0", "symfony/expression-language": "^5.4|^6.0", "symfony/http-foundation": "^5.4|^6.0", @@ -3016,7 +2947,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.2.5" + "source": "https://github.com/symfony/routing/tree/v6.0.1" }, "funding": [ { @@ -3032,20 +2963,20 @@ "type": "tidelift" } ], - "time": "2023-01-01T08:38:09+00:00" + "time": "2021-12-08T15:13:44+00:00" }, { "name": "symfony/translation", - "version": "v4.4.47", + "version": "v4.4.34", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "45036b1d53accc48fe9bab71ccd86d57eba0dd94" + "reference": "26d330720627b234803595ecfc0191eeabc65190" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/45036b1d53accc48fe9bab71ccd86d57eba0dd94", - "reference": "45036b1d53accc48fe9bab71ccd86d57eba0dd94", + "url": "https://api.github.com/repos/symfony/translation/zipball/26d330720627b234803595ecfc0191eeabc65190", + "reference": "26d330720627b234803595ecfc0191eeabc65190", "shasum": "" }, "require": { @@ -3105,7 +3036,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v4.4.47" + "source": "https://github.com/symfony/translation/tree/v4.4.34" }, "funding": [ { @@ -3121,20 +3052,20 @@ "type": "tidelift" } ], - "time": "2022-10-03T15:15:11+00:00" + "time": "2021-11-04T12:23:33+00:00" }, { "name": "symfony/translation-contracts", - "version": "v2.5.2", + "version": "v2.5.0", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe" + "reference": "d28150f0f44ce854e942b671fc2620a98aae1b1e" }, "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/d28150f0f44ce854e942b671fc2620a98aae1b1e", + "reference": "d28150f0f44ce854e942b671fc2620a98aae1b1e", "shasum": "" }, "require": { @@ -3183,7 +3114,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v2.5.2" + "source": "https://github.com/symfony/translation-contracts/tree/v2.5.0" }, "funding": [ { @@ -3199,7 +3130,7 @@ "type": "tidelift" } ], - "time": "2022-06-27T16:58:25+00:00" + "time": "2021-08-17T14:20:01+00:00" }, { "name": "twbs/bootstrap", @@ -3260,16 +3191,16 @@ "packages-dev": [ { "name": "clue/stdio-react", - "version": "v2.6.0", + "version": "v2.5.0", "source": { "type": "git", "url": "https://github.com/clue/reactphp-stdio.git", - "reference": "dfa6c378aabdff718202d4e2453f752c38ea3399" + "reference": "c73bcdc228eca627992c0088f7bc30b794fde8da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/clue/reactphp-stdio/zipball/dfa6c378aabdff718202d4e2453f752c38ea3399", - "reference": "dfa6c378aabdff718202d4e2453f752c38ea3399", + "url": "https://api.github.com/repos/clue/reactphp-stdio/zipball/c73bcdc228eca627992c0088f7bc30b794fde8da", + "reference": "c73bcdc228eca627992c0088f7bc30b794fde8da", "shasum": "" }, "require": { @@ -3320,7 +3251,7 @@ ], "support": { "issues": "https://github.com/clue/reactphp-stdio/issues", - "source": "https://github.com/clue/reactphp-stdio/tree/v2.6.0" + "source": "https://github.com/clue/reactphp-stdio/tree/v2.5.0" }, "funding": [ { @@ -3332,7 +3263,7 @@ "type": "github" } ], - "time": "2022-03-18T15:09:30+00:00" + "time": "2021-10-25T08:01:22+00:00" }, { "name": "clue/term-react", @@ -3472,30 +3403,30 @@ }, { "name": "doctrine/instantiator", - "version": "1.5.0", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b" + "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b", - "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/10dcfce151b967d20fde1b34ae6640712c3891bc", + "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^9 || ^11", + "doctrine/coding-standard": "^9", "ext-pdo": "*", "ext-phar": "*", "phpbench/phpbench": "^0.16 || ^1", "phpstan/phpstan": "^1.4", "phpstan/phpstan-phpunit": "^1", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "vimeo/psalm": "^4.30 || ^5.4" + "vimeo/psalm": "^4.22" }, "type": "library", "autoload": { @@ -3522,7 +3453,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/1.4.1" }, "funding": [ { @@ -3538,30 +3469,30 @@ "type": "tidelift" } ], - "time": "2022-12-30T00:15:36+00:00" + "time": "2022-03-03T08:28:38+00:00" }, { "name": "jolicode/jolinotif", - "version": "v2.5.0", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/jolicode/JoliNotif.git", - "reference": "a10a7cb3bf6dbf8833d1d1f1f0554506cb1d9eaa" + "reference": "a15bfc0d5aef432f150385924ede4e099643edb7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jolicode/JoliNotif/zipball/a10a7cb3bf6dbf8833d1d1f1f0554506cb1d9eaa", - "reference": "a10a7cb3bf6dbf8833d1d1f1f0554506cb1d9eaa", + "url": "https://api.github.com/repos/jolicode/JoliNotif/zipball/a15bfc0d5aef432f150385924ede4e099643edb7", + "reference": "a15bfc0d5aef432f150385924ede4e099643edb7", "shasum": "" }, "require": { - "php": ">=8.0", - "symfony/process": "^5.4 || ^6.0" + "php": ">=7.4", + "symfony/process": "^4.0|^5.0|^6.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.13", - "symfony/finder": "^5.4 || ^6.0", - "symfony/phpunit-bridge": "^5.4 || ^6.0" + "friendsofphp/php-cs-fixer": "^3.0", + "symfony/finder": "^5.0", + "symfony/phpunit-bridge": "^5.0" }, "bin": [ "jolinotif" @@ -3592,7 +3523,7 @@ ], "support": { "issues": "https://github.com/jolicode/JoliNotif/issues", - "source": "https://github.com/jolicode/JoliNotif/tree/v2.5.0" + "source": "https://github.com/jolicode/JoliNotif/tree/v2.4.0" }, "funding": [ { @@ -3600,7 +3531,7 @@ "type": "tidelift" } ], - "time": "2022-12-24T13:38:12+00:00" + "time": "2021-12-01T16:20:42+00:00" }, { "name": "myclabs/deep-copy", @@ -3663,16 +3594,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.15.3", + "version": "v4.15.1", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039" + "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/570e980a201d8ed0236b0a62ddf2c9cbb2034039", - "reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/0ef6c55a3f47f89d7a374e6f835197a0b5fcf900", + "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900", "shasum": "" }, "require": { @@ -3713,9 +3644,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.3" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.1" }, - "time": "2023-01-16T22:05:37+00:00" + "time": "2022-09-04T07:30:47+00:00" }, { "name": "phar-io/manifest", @@ -3830,16 +3761,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "9.2.24", + "version": "9.2.18", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "2cf940ebc6355a9d430462811b5aaa308b174bed" + "reference": "12fddc491826940cf9b7e88ad9664cf51f0f6d0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2cf940ebc6355a9d430462811b5aaa308b174bed", - "reference": "2cf940ebc6355a9d430462811b5aaa308b174bed", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/12fddc491826940cf9b7e88ad9664cf51f0f6d0a", + "reference": "12fddc491826940cf9b7e88ad9664cf51f0f6d0a", "shasum": "" }, "require": { @@ -3895,7 +3826,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.24" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.18" }, "funding": [ { @@ -3903,7 +3834,7 @@ "type": "github" } ], - "time": "2023-01-26T08:26:55+00:00" + "time": "2022-10-27T13:35:33+00:00" }, { "name": "phpunit/php-file-iterator", @@ -5278,21 +5209,20 @@ }, { "name": "symfony/console", - "version": "v6.2.5", + "version": "v6.0.3", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "3e294254f2191762c1d137aed4b94e966965e985" + "reference": "22e8efd019c3270c4f79376234a3f8752cd25490" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/3e294254f2191762c1d137aed4b94e966965e985", - "reference": "3e294254f2191762c1d137aed4b94e966965e985", + "url": "https://api.github.com/repos/symfony/console/zipball/22e8efd019c3270c4f79376234a3f8752cd25490", + "reference": "22e8efd019c3270c4f79376234a3f8752cd25490", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.1|^3", + "php": ">=8.0.2", "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^1.1|^2|^3", "symfony/string": "^5.4|^6.0" @@ -5354,7 +5284,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.2.5" + "source": "https://github.com/symfony/console/tree/v6.0.3" }, "funding": [ { @@ -5370,20 +5300,20 @@ "type": "tidelift" } ], - "time": "2023-01-01T08:38:09+00:00" + "time": "2022-01-26T17:23:29+00:00" }, { "name": "symfony/finder", - "version": "v5.4.19", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "6071aebf810ad13fe8200c224f36103abb37cf1f" + "reference": "231313534dded84c7ecaa79d14bc5da4ccb69b7d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/6071aebf810ad13fe8200c224f36103abb37cf1f", - "reference": "6071aebf810ad13fe8200c224f36103abb37cf1f", + "url": "https://api.github.com/repos/symfony/finder/zipball/231313534dded84c7ecaa79d14bc5da4ccb69b7d", + "reference": "231313534dded84c7ecaa79d14bc5da4ccb69b7d", "shasum": "" }, "require": { @@ -5417,7 +5347,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.19" + "source": "https://github.com/symfony/finder/tree/v5.4.3" }, "funding": [ { @@ -5433,20 +5363,20 @@ "type": "tidelift" } ], - "time": "2023-01-14T19:14:44+00:00" + "time": "2022-01-26T16:34:36+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.27.0", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" + "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", - "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4", + "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4", "shasum": "" }, "require": { @@ -5461,7 +5391,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.26-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5499,7 +5429,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.26.0" }, "funding": [ { @@ -5515,20 +5445,20 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2022-05-24T11:49:31+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.27.0", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "511a08c03c1960e08a883f4cffcacd219b758354" + "reference": "81b86b50cf841a64252b439e738e97f4a34e2783" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354", - "reference": "511a08c03c1960e08a883f4cffcacd219b758354", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/81b86b50cf841a64252b439e738e97f4a34e2783", + "reference": "81b86b50cf841a64252b439e738e97f4a34e2783", "shasum": "" }, "require": { @@ -5540,7 +5470,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5580,7 +5510,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.24.0" }, "funding": [ { @@ -5596,24 +5526,24 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2021-11-23T21:10:46+00:00" }, { "name": "symfony/process", - "version": "v6.2.5", + "version": "v6.0.3", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "9ead139f63dfa38c4e4a9049cc64a8b2748c83b7" + "reference": "298ed357274c1868c20a0061df256a1250a6c4af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/9ead139f63dfa38c4e4a9049cc64a8b2748c83b7", - "reference": "9ead139f63dfa38c4e4a9049cc64a8b2748c83b7", + "url": "https://api.github.com/repos/symfony/process/zipball/298ed357274c1868c20a0061df256a1250a6c4af", + "reference": "298ed357274c1868c20a0061df256a1250a6c4af", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.0.2" }, "type": "library", "autoload": { @@ -5641,7 +5571,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.2.5" + "source": "https://github.com/symfony/process/tree/v6.0.3" }, "funding": [ { @@ -5657,24 +5587,24 @@ "type": "tidelift" } ], - "time": "2023-01-01T08:38:09+00:00" + "time": "2022-01-26T17:23:29+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.2.0", + "version": "v3.0.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "aac98028c69df04ee77eb69b96b86ee51fbf4b75" + "reference": "36715ebf9fb9db73db0cb24263c79077c6fe8603" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/aac98028c69df04ee77eb69b96b86ee51fbf4b75", - "reference": "aac98028c69df04ee77eb69b96b86ee51fbf4b75", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/36715ebf9fb9db73db0cb24263c79077c6fe8603", + "reference": "36715ebf9fb9db73db0cb24263c79077c6fe8603", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.0.2", "psr/container": "^2.0" }, "conflict": { @@ -5686,7 +5616,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.3-dev" + "dev-main": "3.0-dev" }, "thanks": { "name": "symfony/contracts", @@ -5696,10 +5626,7 @@ "autoload": { "psr-4": { "Symfony\\Contracts\\Service\\": "" - }, - "exclude-from-classmap": [ - "/Test/" - ] + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -5726,7 +5653,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.2.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.0.0" }, "funding": [ { @@ -5742,24 +5669,24 @@ "type": "tidelift" } ], - "time": "2022-11-25T10:21:52+00:00" + "time": "2021-11-04T17:53:12+00:00" }, { "name": "symfony/string", - "version": "v6.2.5", + "version": "v6.0.3", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "b2dac0fa27b1ac0f9c0c0b23b43977f12308d0b0" + "reference": "522144f0c4c004c80d56fa47e40e17028e2eefc2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/b2dac0fa27b1ac0f9c0c0b23b43977f12308d0b0", - "reference": "b2dac0fa27b1ac0f9c0c0b23b43977f12308d0b0", + "url": "https://api.github.com/repos/symfony/string/zipball/522144f0c4c004c80d56fa47e40e17028e2eefc2", + "reference": "522144f0c4c004c80d56fa47e40e17028e2eefc2", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.0.2", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", @@ -5771,18 +5698,17 @@ "require-dev": { "symfony/error-handler": "^5.4|^6.0", "symfony/http-client": "^5.4|^6.0", - "symfony/intl": "^6.2", "symfony/translation-contracts": "^2.0|^3.0", "symfony/var-exporter": "^5.4|^6.0" }, "type": "library", "autoload": { - "files": [ - "Resources/functions.php" - ], "psr-4": { "Symfony\\Component\\String\\": "" }, + "files": [ + "Resources/functions.php" + ], "exclude-from-classmap": [ "/Tests/" ] @@ -5812,7 +5738,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.2.5" + "source": "https://github.com/symfony/string/tree/v6.0.3" }, "funding": [ { @@ -5828,24 +5754,24 @@ "type": "tidelift" } ], - "time": "2023-01-01T08:38:09+00:00" + "time": "2022-01-02T09:55:41+00:00" }, { "name": "symfony/yaml", - "version": "v6.2.5", + "version": "v6.0.3", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "2bbfbdacc8a15574f8440c4838ce0d7bb6c86b19" + "reference": "e77f3ea0b21141d771d4a5655faa54f692b34af5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/2bbfbdacc8a15574f8440c4838ce0d7bb6c86b19", - "reference": "2bbfbdacc8a15574f8440c4838ce0d7bb6c86b19", + "url": "https://api.github.com/repos/symfony/yaml/zipball/e77f3ea0b21141d771d4a5655faa54f692b34af5", + "reference": "e77f3ea0b21141d771d4a5655faa54f692b34af5", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.0.2", "symfony/polyfill-ctype": "^1.8" }, "conflict": { @@ -5886,7 +5812,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v6.2.5" + "source": "https://github.com/symfony/yaml/tree/v6.0.3" }, "funding": [ { @@ -5902,7 +5828,7 @@ "type": "tidelift" } ], - "time": "2023-01-10T18:53:53+00:00" + "time": "2022-01-26T17:23:29+00:00" }, { "name": "theseer/tokenizer", From 31726e2f2a2de34ab404618816f286fd203dbe95 Mon Sep 17 00:00:00 2001 From: Roy Ronalds Date: Thu, 2 Mar 2023 22:30:24 -0500 Subject: [PATCH 21/22] Add game log to build script, again. --- deploy/resources.build.php | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/deploy/resources.build.php b/deploy/resources.build.php index f138671e4..798824179 100644 --- a/deploy/resources.build.php +++ b/deploy/resources.build.php @@ -13,12 +13,12 @@ define('DATABASE_NAME', "nw"); // *** The name of the database to connect to, nw on dev define('OFFLINE', true); // *** Controls if remote or local resources are used define('HASH_ASSET_PATHS', false); // *** Controls if cachebusting hash strings for assets like images are used -define('DEBUG', true); // *** Shorter debugging constant name, set as false on live. -define('SERVER_ROOT', realpath(__DIR__).'/'); // *** The root deployment directory of the game +define('DEBUG', true); // *** Shorter debugging constant name, set as false on live. +define('SERVER_ROOT', realpath(__DIR__) . '/'); // *** The root deployment directory of the game // Generally for the install purposes the SERVER_ROOT should correspond to /srv/ninjawars/deploy/ -define('WEB_ROOT', "http://localhost:8765/"); // *** The base URL used to access the game, http://www.ninjawars.net on live -define('ADMIN_EMAIL', "ninjawarsTchalvak@gmail.com"); // *** For logs/emailed errors. -define('SUPPORT_EMAIL', "ninjawarsTchalvak@gmail.com"); // *** For public questions. +define('WEB_ROOT', "http://localhost:8765/"); // *** The base URL used to access the game, http://www.ninjawars.net on live +define('ADMIN_EMAIL', "ninjawarsTchalvak@gmail.com"); // *** For logs/emailed errors. +define('SUPPORT_EMAIL', "ninjawarsTchalvak@gmail.com"); // *** For public questions. define('SUPPORT_EMAIL_NAME', "Ninjawars Tchalvak"); define('SYSTEM_EMAIL', "noreply@ninjawars.net"); define('SYSTEM_MESSENGER_EMAIL', "noreply@ninjawars.net"); @@ -31,17 +31,19 @@ define('TRAP_ERRORS', false); // Whether to use the global error handler & oops page, true on live. -define('TEMPLATE_LIBRARY_PATH', SERVER_ROOT.'vendor/smarty/smarty/libs/Smarty.class.php'); // Path to Smarty 3 +define('TEMPLATE_LIBRARY_PATH', SERVER_ROOT . 'vendor/smarty/smarty/libs/Smarty.class.php'); // Path to Smarty 3 // For location-specific, can-be-dynamic-or-not constants. -define('COMPILED_TEMPLATE_PATH', SERVER_ROOT.'templates/compiled/'); // *** This folder must have write permissions. -define('TEMPLATE_CACHING_PATH', SERVER_ROOT.'templates/cache/'); // *** This folder must have write permissions. -define('LOGS', SERVER_ROOT.'resources/logs/'); // *** For all custom logging -define('CONNECTION_STRING', 'pgsql:'.(DATABASE_USE_HOST ? 'host='.DATABASE_HOST : '').';dbname='.DATABASE_NAME.';user='.DATABASE_USER. - (DATABASE_USE_PORT ? ';port='.DATABASE_PORT : '').(DATABASE_USE_PASSWORD ? ';password='.DATABASE_PASSWORD : '')); +define('COMPILED_TEMPLATE_PATH', SERVER_ROOT . 'templates/compiled/'); // *** This folder must have write permissions. +define('TEMPLATE_CACHING_PATH', SERVER_ROOT . 'templates/cache/'); // *** This folder must have write permissions. +define('LOGS', SERVER_ROOT . 'resources/logs/'); // *** For all custom logging +define('GAME_LOGS', '/tmp/game_logs/'); // For game logs, like combat logs. +define('CONNECTION_STRING', 'pgsql:' . (DATABASE_USE_HOST ? 'host=' . DATABASE_HOST : '') . ';dbname=' . DATABASE_NAME . ';user=' . DATABASE_USER . + (DATABASE_USE_PORT ? ';port=' . DATABASE_PORT : '') . (DATABASE_USE_PASSWORD ? ';password=' . DATABASE_PASSWORD : '')); // Can't use constants as arrays until php 7, so static class info instead. -class Constants { +class Constants +{ public static $trusted_proxies = ['104.130.111.36', '10.189.245.10']; } @@ -58,4 +60,4 @@ class Constants { } // Seperate, tracked file for derived constants, that changes as they change. -require(SERVER_ROOT."derived_constants.php"); +require(SERVER_ROOT . "derived_constants.php"); From c9313a62274fc85ff0afd18fed3db278a5723427 Mon Sep 17 00:00:00 2001 From: "deepsource-autofix[bot]" <62050782+deepsource-autofix[bot]@users.noreply.github.com> Date: Fri, 3 Mar 2023 03:30:47 +0000 Subject: [PATCH 22/22] Format code with php-cs-fixer --- deploy/resources.build.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/deploy/resources.build.php b/deploy/resources.build.php index 798824179..672007654 100644 --- a/deploy/resources.build.php +++ b/deploy/resources.build.php @@ -42,8 +42,7 @@ (DATABASE_USE_PORT ? ';port=' . DATABASE_PORT : '') . (DATABASE_USE_PASSWORD ? ';password=' . DATABASE_PASSWORD : '')); // Can't use constants as arrays until php 7, so static class info instead. -class Constants -{ +class Constants { public static $trusted_proxies = ['104.130.111.36', '10.189.245.10']; }