From fd3ed4354113ffe00074888c49a2811384e4bce3 Mon Sep 17 00:00:00 2001 From: Jonny Barnes Date: Sun, 5 Jun 2022 10:18:17 +0100 Subject: [PATCH 01/18] Update dependencies --- composer.lock | 202 +++++++++++++++++++++---------------------- package-lock.json | 216 +++++++++++++++++++++++----------------------- 2 files changed, 209 insertions(+), 209 deletions(-) diff --git a/composer.lock b/composer.lock index 9ef6b05b..2033b6be 100644 --- a/composer.lock +++ b/composer.lock @@ -114,16 +114,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.224.2", + "version": "3.224.3", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "a2e6461261a92570128e6c2b6fb1896f3d16b424" + "reference": "52f45dfe0d1e5a77f33c050bde5134901fc54a57" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/a2e6461261a92570128e6c2b6fb1896f3d16b424", - "reference": "a2e6461261a92570128e6c2b6fb1896f3d16b424", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/52f45dfe0d1e5a77f33c050bde5134901fc54a57", + "reference": "52f45dfe0d1e5a77f33c050bde5134901fc54a57", "shasum": "" }, "require": { @@ -199,9 +199,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.224.2" + "source": "https://github.com/aws/aws-sdk-php/tree/3.224.3" }, - "time": "2022-06-01T18:17:06+00:00" + "time": "2022-06-02T18:22:57+00:00" }, { "name": "brick/math", @@ -1869,16 +1869,16 @@ }, { "name": "laravel/framework", - "version": "v9.15.0", + "version": "v9.16.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "dc32641f5963578858fb71a9d2fbf995fe1e1ea3" + "reference": "dbad869e737542734c48d36d4cb87ee90455c4b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/dc32641f5963578858fb71a9d2fbf995fe1e1ea3", - "reference": "dc32641f5963578858fb71a9d2fbf995fe1e1ea3", + "url": "https://api.github.com/repos/laravel/framework/zipball/dbad869e737542734c48d36d4cb87ee90455c4b8", + "reference": "dbad869e737542734c48d36d4cb87ee90455c4b8", "shasum": "" }, "require": { @@ -2044,7 +2044,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2022-05-31T14:56:46+00:00" + "time": "2022-06-02T18:13:11+00:00" }, { "name": "laravel/horizon", @@ -2387,16 +2387,16 @@ }, { "name": "league/commonmark", - "version": "2.3.1", + "version": "2.3.2", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "cb36fee279f7fca01d5d9399ddd1b37e48e2eca1" + "reference": "6eddb90a9e4a1a8c5773226068fcfb48cb36812a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/cb36fee279f7fca01d5d9399ddd1b37e48e2eca1", - "reference": "cb36fee279f7fca01d5d9399ddd1b37e48e2eca1", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/6eddb90a9e4a1a8c5773226068fcfb48cb36812a", + "reference": "6eddb90a9e4a1a8c5773226068fcfb48cb36812a", "shasum": "" }, "require": { @@ -2489,7 +2489,7 @@ "type": "tidelift" } ], - "time": "2022-05-14T15:37:39+00:00" + "time": "2022-06-03T14:07:39+00:00" }, { "name": "league/config", @@ -5803,16 +5803,16 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.25.0", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "30885182c981ab175d4d034db0f6f469898070ab" + "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab", - "reference": "30885182c981ab175d4d034db0f6f469898070ab", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4", + "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4", "shasum": "" }, "require": { @@ -5827,7 +5827,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.26-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5865,7 +5865,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.25.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.26.0" }, "funding": [ { @@ -5881,20 +5881,20 @@ "type": "tidelift" } ], - "time": "2021-10-20T20:35:02+00:00" + "time": "2022-05-24T11:49:31+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.25.0", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "81b86b50cf841a64252b439e738e97f4a34e2783" + "reference": "433d05519ce6990bf3530fba6957499d327395c2" }, "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/433d05519ce6990bf3530fba6957499d327395c2", + "reference": "433d05519ce6990bf3530fba6957499d327395c2", "shasum": "" }, "require": { @@ -5906,7 +5906,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.26-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5946,7 +5946,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.25.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.26.0" }, "funding": [ { @@ -5962,20 +5962,20 @@ "type": "tidelift" } ], - "time": "2021-11-23T21:10:46+00:00" + "time": "2022-05-24T11:49:31+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.25.0", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "749045c69efb97c70d25d7463abba812e91f3a44" + "reference": "59a8d271f00dd0e4c2e518104cc7963f655a1aa8" }, "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/59a8d271f00dd0e4c2e518104cc7963f655a1aa8", + "reference": "59a8d271f00dd0e4c2e518104cc7963f655a1aa8", "shasum": "" }, "require": { @@ -5989,7 +5989,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.26-dev" }, "thanks": { "name": "symfony/polyfill", @@ -6033,7 +6033,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.25.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.26.0" }, "funding": [ { @@ -6049,20 +6049,20 @@ "type": "tidelift" } ], - "time": "2021-09-14T14:02:44+00:00" + "time": "2022-05-24T11:49:31+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.25.0", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" + "reference": "219aa369ceff116e673852dce47c3a41794c14bd" }, "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/219aa369ceff116e673852dce47c3a41794c14bd", + "reference": "219aa369ceff116e673852dce47c3a41794c14bd", "shasum": "" }, "require": { @@ -6074,7 +6074,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.26-dev" }, "thanks": { "name": "symfony/polyfill", @@ -6117,7 +6117,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.25.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.26.0" }, "funding": [ { @@ -6133,20 +6133,20 @@ "type": "tidelift" } ], - "time": "2021-02-19T12:13:01+00:00" + "time": "2022-05-24T11:49:31+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.25.0", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825" + "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e" }, "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/9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e", + "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e", "shasum": "" }, "require": { @@ -6161,7 +6161,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.26-dev" }, "thanks": { "name": "symfony/polyfill", @@ -6200,7 +6200,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.25.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.26.0" }, "funding": [ { @@ -6216,20 +6216,20 @@ "type": "tidelift" } ], - "time": "2021-11-30T18:21:41+00:00" + "time": "2022-05-24T11:49:31+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.25.0", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "9a142215a36a3888e30d0a9eeea9766764e96976" + "reference": "bf44a9fd41feaac72b074de600314a93e2ae78e2" }, "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/bf44a9fd41feaac72b074de600314a93e2ae78e2", + "reference": "bf44a9fd41feaac72b074de600314a93e2ae78e2", "shasum": "" }, "require": { @@ -6238,7 +6238,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.26-dev" }, "thanks": { "name": "symfony/polyfill", @@ -6276,7 +6276,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.25.0" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.26.0" }, "funding": [ { @@ -6292,20 +6292,20 @@ "type": "tidelift" } ], - "time": "2021-05-27T09:17:38+00:00" + "time": "2022-05-24T11:49:31+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.25.0", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "4407588e0d3f1f52efb65fbe92babe41f37fe50c" + "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/4407588e0d3f1f52efb65fbe92babe41f37fe50c", - "reference": "4407588e0d3f1f52efb65fbe92babe41f37fe50c", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/cfa0ae98841b9e461207c13ab093d76b0fa7bace", + "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace", "shasum": "" }, "require": { @@ -6314,7 +6314,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.26-dev" }, "thanks": { "name": "symfony/polyfill", @@ -6359,7 +6359,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.25.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.26.0" }, "funding": [ { @@ -6375,20 +6375,20 @@ "type": "tidelift" } ], - "time": "2022-03-04T08:16:47+00:00" + "time": "2022-05-10T07:21:04+00:00" }, { "name": "symfony/polyfill-php81", - "version": "v1.25.0", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f" + "reference": "13f6d1271c663dc5ae9fb843a8f16521db7687a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/5de4ba2d41b15f9bd0e19b2ab9674135813ec98f", - "reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/13f6d1271c663dc5ae9fb843a8f16521db7687a1", + "reference": "13f6d1271c663dc5ae9fb843a8f16521db7687a1", "shasum": "" }, "require": { @@ -6397,7 +6397,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.26-dev" }, "thanks": { "name": "symfony/polyfill", @@ -6438,7 +6438,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.25.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.26.0" }, "funding": [ { @@ -6454,7 +6454,7 @@ "type": "tidelift" } ], - "time": "2021-09-13T13:58:11+00:00" + "time": "2022-05-24T11:49:31+00:00" }, { "name": "symfony/process", @@ -7249,21 +7249,21 @@ }, { "name": "webmozart/assert", - "version": "1.10.0", + "version": "1.11.0", "source": { "type": "git", "url": "https://github.com/webmozarts/assert.git", - "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25" + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25", - "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0", - "symfony/polyfill-ctype": "^1.8" + "ext-ctype": "*", + "php": "^7.2 || ^8.0" }, "conflict": { "phpstan/phpstan": "<0.12.20", @@ -7301,9 +7301,9 @@ ], "support": { "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.10.0" + "source": "https://github.com/webmozarts/assert/tree/1.11.0" }, - "time": "2021-03-09T10:59:23+00:00" + "time": "2022-06-03T18:03:27+00:00" } ], "packages-dev": [ @@ -11584,20 +11584,20 @@ }, { "name": "spatie/macroable", - "version": "1.0.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/spatie/macroable.git", - "reference": "7a99549fc001c925714b329220dea680c04bfa48" + "reference": "ec2c320f932e730607aff8052c44183cf3ecb072" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/macroable/zipball/7a99549fc001c925714b329220dea680c04bfa48", - "reference": "7a99549fc001c925714b329220dea680c04bfa48", + "url": "https://api.github.com/repos/spatie/macroable/zipball/ec2c320f932e730607aff8052c44183cf3ecb072", + "reference": "ec2c320f932e730607aff8052c44183cf3ecb072", "shasum": "" }, "require": { - "php": "^7.2|^8.0" + "php": "^8.0" }, "require-dev": { "phpunit/phpunit": "^8.0|^9.3" @@ -11628,22 +11628,22 @@ ], "support": { "issues": "https://github.com/spatie/macroable/issues", - "source": "https://github.com/spatie/macroable/tree/1.0.1" + "source": "https://github.com/spatie/macroable/tree/2.0.0" }, - "time": "2020-11-03T10:15:05+00:00" + "time": "2021-03-26T22:39:02+00:00" }, { "name": "spatie/ray", - "version": "1.34.3", + "version": "1.34.5", "source": { "type": "git", "url": "https://github.com/spatie/ray.git", - "reference": "17654b955e189c646405dececb482c833e8a9a0f" + "reference": "2d64ea264eecbdc7ec01e4e8b45978cae80815d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/ray/zipball/17654b955e189c646405dececb482c833e8a9a0f", - "reference": "17654b955e189c646405dececb482c833e8a9a0f", + "url": "https://api.github.com/repos/spatie/ray/zipball/2d64ea264eecbdc7ec01e4e8b45978cae80815d2", + "reference": "2d64ea264eecbdc7ec01e4e8b45978cae80815d2", "shasum": "" }, "require": { @@ -11652,7 +11652,7 @@ "php": "^7.3|^8.0", "ramsey/uuid": "^3.0|^4.1", "spatie/backtrace": "^1.1", - "spatie/macroable": "^1.0", + "spatie/macroable": "^1.0|^2.0", "symfony/stopwatch": "^4.0|^5.1|^6.0", "symfony/var-dumper": "^4.2|^5.1|^6.0" }, @@ -11693,7 +11693,7 @@ ], "support": { "issues": "https://github.com/spatie/ray/issues", - "source": "https://github.com/spatie/ray/tree/1.34.3" + "source": "https://github.com/spatie/ray/tree/1.34.5" }, "funding": [ { @@ -11705,7 +11705,7 @@ "type": "other" } ], - "time": "2022-05-31T08:03:35+00:00" + "time": "2022-06-03T12:32:57+00:00" }, { "name": "symfony/debug", @@ -11777,16 +11777,16 @@ }, { "name": "symfony/polyfill-iconv", - "version": "v1.25.0", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "f1aed619e28cb077fc83fac8c4c0383578356e40" + "reference": "143f1881e655bebca1312722af8068de235ae5dc" }, "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/143f1881e655bebca1312722af8068de235ae5dc", + "reference": "143f1881e655bebca1312722af8068de235ae5dc", "shasum": "" }, "require": { @@ -11801,7 +11801,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.26-dev" }, "thanks": { "name": "symfony/polyfill", @@ -11840,7 +11840,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.25.0" + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.26.0" }, "funding": [ { @@ -11856,7 +11856,7 @@ "type": "tidelift" } ], - "time": "2022-01-04T09:04:05+00:00" + "time": "2022-05-24T11:49:31+00:00" }, { "name": "symfony/stopwatch", diff --git a/package-lock.json b/package-lock.json index ffa2423b..8b1a5db2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1852,9 +1852,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "17.0.38", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.38.tgz", - "integrity": "sha512-5jY9RhV7c0Z4Jy09G+NIDTsCZ5G0L5n+Z+p+Y7t5VJHM30bgwzSjVtlcBxqAj+6L/swIlvtOSzr8rBk/aNyV2g==", + "version": "17.0.40", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.40.tgz", + "integrity": "sha512-UXdBxNGqTMtm7hCwh9HtncFVLrXoqA3oJW30j6XWp5BH/wu3mVeaxo7cq5benFdBw34HB3XDT2TRPI7rXZ+mDg==", "devOptional": true }, "node_modules/@types/normalize-package-data": { @@ -2553,9 +2553,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001344", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001344.tgz", - "integrity": "sha512-0ZFjnlCaXNOAYcV7i+TtdKBp0L/3XEU2MF/x6Du1lrh+SRX4IfzIVL4HNJg5pB2PmFb8rszIGyOvsZnqqRoc2g==", + "version": "1.0.30001346", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001346.tgz", + "integrity": "sha512-q6ibZUO2t88QCIPayP/euuDREq+aMAxFE5S70PkrLh0iTDj/zEhgvJRKC2+CvXY6EWc6oQwUR48lL5vCW6jiXQ==", "dev": true, "funding": [ { @@ -2656,9 +2656,9 @@ "dev": true }, "node_modules/colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.17.tgz", + "integrity": "sha512-hJo+3Bkn0NCHybn9Tu35fIeoOKGOk5OCC32y4Hz2It+qlCO2Q3DeQ1hRn/tDDMQKRYUEzqsl7jbF6dYKjlE60g==", "dev": true }, "node_modules/commander": { @@ -2858,9 +2858,9 @@ } }, "node_modules/css-functions-list": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.0.1.tgz", - "integrity": "sha512-PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz", + "integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==", "dev": true, "engines": { "node": ">=12.22" @@ -2961,12 +2961,12 @@ } }, "node_modules/cssnano": { - "version": "5.1.10", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.10.tgz", - "integrity": "sha512-ACpnRgDg4m6CZD/+8SgnLcGCgy6DDGdkMbOawwdvVxNietTNLe/MtWcenp6qT0PRt5wzhGl6/cjMWCdhKXC9QA==", + "version": "5.1.11", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.11.tgz", + "integrity": "sha512-2nx+O6LvewPo5EBtYrKc8762mMkZRk9cMGIOP4UlkmxHm7ObxH+zvsJJ+qLwPkUc4/yumL/qJkavYi9NlodWIQ==", "dev": true, "dependencies": { - "cssnano-preset-default": "^5.2.10", + "cssnano-preset-default": "^5.2.11", "lilconfig": "^2.0.3", "yaml": "^1.10.2" }, @@ -2982,9 +2982,9 @@ } }, "node_modules/cssnano-preset-default": { - "version": "5.2.10", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.10.tgz", - "integrity": "sha512-H8TJRhTjBKVOPltp9vr9El9I+IfYsOMhmXdK0LwdvwJcxYX9oWkY7ctacWusgPWAgQq1vt/WO8v+uqpfLnM7QA==", + "version": "5.2.11", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.11.tgz", + "integrity": "sha512-4PadR1NtuaIK8MvLNuY7MznK4WJteldGlzCiMaaTiOUP+apeiIvUDIXykzUOoqgOOUAHrU64ncdD90NfZR3LSQ==", "dev": true, "dependencies": { "css-declaration-sorter": "^6.2.2", @@ -3011,7 +3011,7 @@ "postcss-normalize-unicode": "^5.1.0", "postcss-normalize-url": "^5.1.0", "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.1", + "postcss-ordered-values": "^5.1.2", "postcss-reduce-initial": "^5.1.0", "postcss-reduce-transforms": "^5.1.0", "postcss-svgo": "^5.1.0", @@ -3118,9 +3118,9 @@ } }, "node_modules/devtools-protocol": { - "version": "0.0.982423", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.982423.tgz", - "integrity": "sha512-FnVW2nDbjGNw1uD/JRC+9U5768W7e1TfUwqbDTcSsAu1jXFjITSX8w3rkW5FEpHRMPPGpvNSmO1pOpqByiWscA==" + "version": "0.0.1001819", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1001819.tgz", + "integrity": "sha512-G6OsIFnv/rDyxSqBa2lDLR6thp9oJioLsb2Gl+LbQlyoA9/OBAkrTU9jiCcQ8Pnh7z4d6slDiLaogR5hzgJLmQ==" }, "node_modules/dir-glob": { "version": "3.0.1", @@ -3202,9 +3202,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.143", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.143.tgz", - "integrity": "sha512-2hIgvu0+pDfXIqmVmV5X6iwMjQ2KxDsWKwM+oI1fABEOy/Dqmll0QJRmIQ3rm+XaoUa/qKrmy5h7LSTFQ6Ldzg==", + "version": "1.4.146", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.146.tgz", + "integrity": "sha512-4eWebzDLd+hYLm4csbyMU2EbBnqhwl8Oe9eF/7CBDPWcRxFmqzx4izxvHH+lofQxzieg8UbB8ZuzNTxeukzfTg==", "dev": true }, "node_modules/emoji-regex": { @@ -3298,9 +3298,9 @@ } }, "node_modules/eslint": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz", - "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.17.0.tgz", + "integrity": "sha512-gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw==", "dev": true, "dependencies": { "@eslint/eslintrc": "^1.3.0", @@ -5420,7 +5420,7 @@ "node_modules/postcss-media-query-parser": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", "dev": true }, "node_modules/postcss-merge-longhand": { @@ -5715,9 +5715,9 @@ } }, "node_modules/postcss-ordered-values": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.1.tgz", - "integrity": "sha512-7lxgXF0NaoMIgyihL/2boNAEZKiW0+HkMhdKMTD93CjW8TdCy2hSdj8lsAo+uwm7EDG16Da2Jdmtqpedl0cMfw==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.2.tgz", + "integrity": "sha512-wr2avRbW4HS2XE2ZCqpfp4N/tDC6GZKZ+SVP8UBTOVS8QWrc4TD8MYrebJrvVVlGPKszmiSCzue43NDiVtgDmg==", "dev": true, "dependencies": { "cssnano-utils": "^3.1.0", @@ -5764,7 +5764,7 @@ "node_modules/postcss-resolve-nested-selector": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", - "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", "dev": true }, "node_modules/postcss-safe-parser": { @@ -5836,7 +5836,7 @@ "node_modules/pre-commit": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz", - "integrity": "sha1-287g7p3nI15X95xW186UZBpp7sY=", + "integrity": "sha512-qokTiqxD6GjODy5ETAIgzsRgnBWWQHQH2ghy86PU7mIn/wuWeTwF3otyNQZxWBwVn8XNr8Tdzj/QfUXpH+gRZA==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -5936,7 +5936,7 @@ "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", "dev": true }, "node_modules/pump": { @@ -5958,14 +5958,14 @@ } }, "node_modules/puppeteer": { - "version": "14.1.2", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-14.1.2.tgz", - "integrity": "sha512-Nsyy1f7pT2KyBb15u8DHi4q3FfrIqOptAV0r4Bd1lAp2pHz8T0o4DO+On1yWZ7jFbcx1w3AqZ/e7nKqnc3Vwyg==", + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-14.2.1.tgz", + "integrity": "sha512-cIEsAbEbNYqHbkvdZY4+YSdxVwh4YFqOHSezuLpu46XAYlKkQeAMdJQ+mDAxg9v77gIn8PHJ6PlftIVsWKRACA==", "hasInstallScript": true, "dependencies": { "cross-fetch": "3.1.5", "debug": "4.3.4", - "devtools-protocol": "0.0.982423", + "devtools-protocol": "0.0.1001819", "extract-zip": "2.0.1", "https-proxy-agent": "5.0.1", "pkg-dir": "4.2.0", @@ -5974,7 +5974,7 @@ "rimraf": "3.0.2", "tar-fs": "2.1.1", "unbzip2-stream": "1.4.3", - "ws": "8.6.0" + "ws": "8.7.0" }, "engines": { "node": ">=14.1.0" @@ -7049,15 +7049,15 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", - "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz", + "integrity": "sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==", "dev": true, "dependencies": { + "@jridgewell/trace-mapping": "^0.3.7", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", "terser": "^5.7.2" }, "engines": { @@ -7262,9 +7262,9 @@ } }, "node_modules/watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -7280,9 +7280,9 @@ "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" }, "node_modules/webpack": { - "version": "5.72.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.1.tgz", - "integrity": "sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==", + "version": "5.73.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz", + "integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", @@ -7489,9 +7489,9 @@ } }, "node_modules/ws": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", - "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.7.0.tgz", + "integrity": "sha512-c2gsP0PRwcLFzUiA8Mkr37/MI7ilIlHQxaEAtd0uNMbVMoy8puJyafRlm0bV9MbGSabUPeLrRRaqIBcFcA2Pqg==", "engines": { "node": ">=10.0.0" }, @@ -8835,9 +8835,9 @@ "dev": true }, "@types/node": { - "version": "17.0.38", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.38.tgz", - "integrity": "sha512-5jY9RhV7c0Z4Jy09G+NIDTsCZ5G0L5n+Z+p+Y7t5VJHM30bgwzSjVtlcBxqAj+6L/swIlvtOSzr8rBk/aNyV2g==", + "version": "17.0.40", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.40.tgz", + "integrity": "sha512-UXdBxNGqTMtm7hCwh9HtncFVLrXoqA3oJW30j6XWp5BH/wu3mVeaxo7cq5benFdBw34HB3XDT2TRPI7rXZ+mDg==", "devOptional": true }, "@types/normalize-package-data": { @@ -9372,9 +9372,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001344", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001344.tgz", - "integrity": "sha512-0ZFjnlCaXNOAYcV7i+TtdKBp0L/3XEU2MF/x6Du1lrh+SRX4IfzIVL4HNJg5pB2PmFb8rszIGyOvsZnqqRoc2g==", + "version": "1.0.30001346", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001346.tgz", + "integrity": "sha512-q6ibZUO2t88QCIPayP/euuDREq+aMAxFE5S70PkrLh0iTDj/zEhgvJRKC2+CvXY6EWc6oQwUR48lL5vCW6jiXQ==", "dev": true }, "chalk": { @@ -9452,9 +9452,9 @@ "dev": true }, "colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.17.tgz", + "integrity": "sha512-hJo+3Bkn0NCHybn9Tu35fIeoOKGOk5OCC32y4Hz2It+qlCO2Q3DeQ1hRn/tDDMQKRYUEzqsl7jbF6dYKjlE60g==", "dev": true }, "commander": { @@ -9610,9 +9610,9 @@ "requires": {} }, "css-functions-list": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.0.1.tgz", - "integrity": "sha512-PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz", + "integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==", "dev": true }, "css-loader": { @@ -9678,20 +9678,20 @@ "dev": true }, "cssnano": { - "version": "5.1.10", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.10.tgz", - "integrity": "sha512-ACpnRgDg4m6CZD/+8SgnLcGCgy6DDGdkMbOawwdvVxNietTNLe/MtWcenp6qT0PRt5wzhGl6/cjMWCdhKXC9QA==", + "version": "5.1.11", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.11.tgz", + "integrity": "sha512-2nx+O6LvewPo5EBtYrKc8762mMkZRk9cMGIOP4UlkmxHm7ObxH+zvsJJ+qLwPkUc4/yumL/qJkavYi9NlodWIQ==", "dev": true, "requires": { - "cssnano-preset-default": "^5.2.10", + "cssnano-preset-default": "^5.2.11", "lilconfig": "^2.0.3", "yaml": "^1.10.2" } }, "cssnano-preset-default": { - "version": "5.2.10", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.10.tgz", - "integrity": "sha512-H8TJRhTjBKVOPltp9vr9El9I+IfYsOMhmXdK0LwdvwJcxYX9oWkY7ctacWusgPWAgQq1vt/WO8v+uqpfLnM7QA==", + "version": "5.2.11", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.11.tgz", + "integrity": "sha512-4PadR1NtuaIK8MvLNuY7MznK4WJteldGlzCiMaaTiOUP+apeiIvUDIXykzUOoqgOOUAHrU64ncdD90NfZR3LSQ==", "dev": true, "requires": { "css-declaration-sorter": "^6.2.2", @@ -9718,7 +9718,7 @@ "postcss-normalize-unicode": "^5.1.0", "postcss-normalize-url": "^5.1.0", "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.1", + "postcss-ordered-values": "^5.1.2", "postcss-reduce-initial": "^5.1.0", "postcss-reduce-transforms": "^5.1.0", "postcss-svgo": "^5.1.0", @@ -9790,9 +9790,9 @@ } }, "devtools-protocol": { - "version": "0.0.982423", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.982423.tgz", - "integrity": "sha512-FnVW2nDbjGNw1uD/JRC+9U5768W7e1TfUwqbDTcSsAu1jXFjITSX8w3rkW5FEpHRMPPGpvNSmO1pOpqByiWscA==" + "version": "0.0.1001819", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1001819.tgz", + "integrity": "sha512-G6OsIFnv/rDyxSqBa2lDLR6thp9oJioLsb2Gl+LbQlyoA9/OBAkrTU9jiCcQ8Pnh7z4d6slDiLaogR5hzgJLmQ==" }, "dir-glob": { "version": "3.0.1", @@ -9850,9 +9850,9 @@ } }, "electron-to-chromium": { - "version": "1.4.143", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.143.tgz", - "integrity": "sha512-2hIgvu0+pDfXIqmVmV5X6iwMjQ2KxDsWKwM+oI1fABEOy/Dqmll0QJRmIQ3rm+XaoUa/qKrmy5h7LSTFQ6Ldzg==", + "version": "1.4.146", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.146.tgz", + "integrity": "sha512-4eWebzDLd+hYLm4csbyMU2EbBnqhwl8Oe9eF/7CBDPWcRxFmqzx4izxvHH+lofQxzieg8UbB8ZuzNTxeukzfTg==", "dev": true }, "emoji-regex": { @@ -9925,9 +9925,9 @@ "dev": true }, "eslint": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz", - "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.17.0.tgz", + "integrity": "sha512-gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw==", "dev": true, "requires": { "@eslint/eslintrc": "^1.3.0", @@ -11438,7 +11438,7 @@ "postcss-media-query-parser": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", "dev": true }, "postcss-merge-longhand": { @@ -11621,9 +11621,9 @@ } }, "postcss-ordered-values": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.1.tgz", - "integrity": "sha512-7lxgXF0NaoMIgyihL/2boNAEZKiW0+HkMhdKMTD93CjW8TdCy2hSdj8lsAo+uwm7EDG16Da2Jdmtqpedl0cMfw==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.2.tgz", + "integrity": "sha512-wr2avRbW4HS2XE2ZCqpfp4N/tDC6GZKZ+SVP8UBTOVS8QWrc4TD8MYrebJrvVVlGPKszmiSCzue43NDiVtgDmg==", "dev": true, "requires": { "cssnano-utils": "^3.1.0", @@ -11652,7 +11652,7 @@ "postcss-resolve-nested-selector": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", - "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", "dev": true }, "postcss-safe-parser": { @@ -11700,7 +11700,7 @@ "pre-commit": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz", - "integrity": "sha1-287g7p3nI15X95xW186UZBpp7sY=", + "integrity": "sha512-qokTiqxD6GjODy5ETAIgzsRgnBWWQHQH2ghy86PU7mIn/wuWeTwF3otyNQZxWBwVn8XNr8Tdzj/QfUXpH+gRZA==", "dev": true, "requires": { "cross-spawn": "^5.0.1", @@ -11786,7 +11786,7 @@ "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", "dev": true }, "pump": { @@ -11805,13 +11805,13 @@ "dev": true }, "puppeteer": { - "version": "14.1.2", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-14.1.2.tgz", - "integrity": "sha512-Nsyy1f7pT2KyBb15u8DHi4q3FfrIqOptAV0r4Bd1lAp2pHz8T0o4DO+On1yWZ7jFbcx1w3AqZ/e7nKqnc3Vwyg==", + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-14.2.1.tgz", + "integrity": "sha512-cIEsAbEbNYqHbkvdZY4+YSdxVwh4YFqOHSezuLpu46XAYlKkQeAMdJQ+mDAxg9v77gIn8PHJ6PlftIVsWKRACA==", "requires": { "cross-fetch": "3.1.5", "debug": "4.3.4", - "devtools-protocol": "0.0.982423", + "devtools-protocol": "0.0.1001819", "extract-zip": "2.0.1", "https-proxy-agent": "5.0.1", "pkg-dir": "4.2.0", @@ -11820,7 +11820,7 @@ "rimraf": "3.0.2", "tar-fs": "2.1.1", "unbzip2-stream": "1.4.3", - "ws": "8.6.0" + "ws": "8.7.0" } }, "queue-microtask": { @@ -12647,15 +12647,15 @@ } }, "terser-webpack-plugin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", - "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz", + "integrity": "sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==", "dev": true, "requires": { + "@jridgewell/trace-mapping": "^0.3.7", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", "terser": "^5.7.2" }, "dependencies": { @@ -12798,9 +12798,9 @@ } }, "watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -12813,9 +12813,9 @@ "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" }, "webpack": { - "version": "5.72.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.1.tgz", - "integrity": "sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==", + "version": "5.73.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz", + "integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", @@ -12955,9 +12955,9 @@ } }, "ws": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", - "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.7.0.tgz", + "integrity": "sha512-c2gsP0PRwcLFzUiA8Mkr37/MI7ilIlHQxaEAtd0uNMbVMoy8puJyafRlm0bV9MbGSabUPeLrRRaqIBcFcA2Pqg==", "requires": {} }, "yallist": { From 2ddc85f6f52cbe2785babf002a90fe6ca5b71d92 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 Jun 2022 20:58:29 +0000 Subject: [PATCH 02/18] Bump guzzlehttp/guzzle from 7.4.3 to 7.4.5 Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.3 to 7.4.5. - [Release notes](https://github.com/guzzle/guzzle/releases) - [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md) - [Commits](https://github.com/guzzle/guzzle/compare/7.4.3...7.4.5) --- updated-dependencies: - dependency-name: guzzlehttp/guzzle dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- composer.lock | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/composer.lock b/composer.lock index 2033b6be..c182cdc0 100644 --- a/composer.lock +++ b/composer.lock @@ -1146,22 +1146,22 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.4.3", + "version": "7.4.5", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "74a8602c6faec9ef74b7a9391ac82c5e65b1cdab" + "reference": "1dd98b0564cb3f6bd16ce683cb755f94c10fbd82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/74a8602c6faec9ef74b7a9391ac82c5e65b1cdab", - "reference": "74a8602c6faec9ef74b7a9391ac82c5e65b1cdab", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/1dd98b0564cb3f6bd16ce683cb755f94c10fbd82", + "reference": "1dd98b0564cb3f6bd16ce683cb755f94c10fbd82", "shasum": "" }, "require": { "ext-json": "*", "guzzlehttp/promises": "^1.5", - "guzzlehttp/psr7": "^1.8.3 || ^2.1", + "guzzlehttp/psr7": "^1.9 || ^2.4", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", "symfony/deprecation-contracts": "^2.2 || ^3.0" @@ -1250,7 +1250,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.4.3" + "source": "https://github.com/guzzle/guzzle/tree/7.4.5" }, "funding": [ { @@ -1266,7 +1266,7 @@ "type": "tidelift" } ], - "time": "2022-05-25T13:24:33+00:00" + "time": "2022-06-20T22:16:13+00:00" }, { "name": "guzzlehttp/promises", @@ -1354,16 +1354,16 @@ }, { "name": "guzzlehttp/psr7", - "version": "2.2.1", + "version": "2.4.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "c94a94f120803a18554c1805ef2e539f8285f9a2" + "reference": "13388f00956b1503577598873fffb5ae994b5737" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/c94a94f120803a18554c1805ef2e539f8285f9a2", - "reference": "c94a94f120803a18554c1805ef2e539f8285f9a2", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/13388f00956b1503577598873fffb5ae994b5737", + "reference": "13388f00956b1503577598873fffb5ae994b5737", "shasum": "" }, "require": { @@ -1387,7 +1387,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev" + "dev-master": "2.4-dev" } }, "autoload": { @@ -1449,7 +1449,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.0" }, "funding": [ { @@ -1465,7 +1465,7 @@ "type": "tidelift" } ], - "time": "2022-03-20T21:55:58+00:00" + "time": "2022-06-20T21:43:11+00:00" }, { "name": "indieauth/client", From 3ff41493049255958aaa72b66e239f7482f5e39c Mon Sep 17 00:00:00 2001 From: Jonny Barnes Date: Fri, 8 Jul 2022 16:37:38 +0100 Subject: [PATCH 03/18] Use CommonMark plugin for @-mentions --- .../Generators/ContactMentionGenerator.php | 17 ++++++++++ .../Renderers/ContactMentionRenderer.php | 24 +++++++++++++ app/Models/Contact.php | 19 +++++++++-- app/Models/Note.php | 34 ++++++++++++++----- resources/views/templates/note.blade.php | 10 +++--- tests/Feature/BridgyPosseTest.php | 2 +- 6 files changed, 89 insertions(+), 17 deletions(-) create mode 100644 app/CommonMark/Generators/ContactMentionGenerator.php create mode 100644 app/CommonMark/Renderers/ContactMentionRenderer.php diff --git a/app/CommonMark/Generators/ContactMentionGenerator.php b/app/CommonMark/Generators/ContactMentionGenerator.php new file mode 100644 index 00000000..507f2a0f --- /dev/null +++ b/app/CommonMark/Generators/ContactMentionGenerator.php @@ -0,0 +1,17 @@ +getIdentifier())->first(); + + if ($contact === null) { + return '@' . $node->getIdentifier() . ''; + } + + return trim(view('templates.mini-hcard', ['contact' => $contact])->render()); + } +} diff --git a/app/Models/Contact.php b/app/Models/Contact.php index f05505b2..54d9b400 100644 --- a/app/Models/Contact.php +++ b/app/Models/Contact.php @@ -4,10 +4,9 @@ declare(strict_types=1); namespace App\Models; -use Illuminate\Database\Eloquent\Builder; +use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; -use Illuminate\Support\Carbon; class Contact extends Model { @@ -26,4 +25,20 @@ class Contact extends Model * @var array */ protected $fillable = ['nick', 'name', 'homepage', 'twitter', 'facebook']; + + protected function photo(): Attribute + { + $photo = '/assets/profile-images/default-image'; + + if (array_key_exists('homepage', $this->attributes) && !empty($this->attributes['homepage'])) { + $host = parse_url($this->attributes['homepage'], PHP_URL_HOST); + if (file_exists(public_path() . '/assets/profile-images/' . $host . '/image')) { + $photo = '/assets/profile-images/' . $host . '/image'; + } + } + + return Attribute::make( + get: fn () => $photo, + ); + } } diff --git a/app/Models/Note.php b/app/Models/Note.php index ab9e2f19..a664dbfc 100644 --- a/app/Models/Note.php +++ b/app/Models/Note.php @@ -4,13 +4,14 @@ declare(strict_types=1); namespace App\Models; +use App\CommonMark\Generators\ContactMentionGenerator; +use App\CommonMark\Renderers\ContactMentionRenderer; use App\Exceptions\TwitterContentException; -use Barryvdh\LaravelIdeHelper\Eloquent; use Codebird\Codebird; use Exception; use GuzzleHttp\Client; -use Illuminate\Database\Eloquent\Relations\{BelongsTo, BelongsToMany, HasMany, MorphMany}; use Illuminate\Database\Eloquent\{Builder, Factories\HasFactory, Model, SoftDeletes}; +use Illuminate\Database\Eloquent\Relations\{BelongsTo, BelongsToMany, HasMany, MorphMany}; use Illuminate\Support\Facades\Cache; use JetBrains\PhpStorm\ArrayShape; use Jonnybarnes\IndieWeb\Numbers; @@ -19,6 +20,8 @@ use League\CommonMark\Extension\Autolink\AutolinkExtension; use League\CommonMark\Extension\CommonMark\CommonMarkCoreExtension; use League\CommonMark\Extension\CommonMark\Node\Block\FencedCode; use League\CommonMark\Extension\CommonMark\Node\Block\IndentedCode; +use League\CommonMark\Extension\Mention\Mention; +use League\CommonMark\Extension\Mention\MentionExtension; use League\CommonMark\MarkdownConverter; use Normalizer; use Spatie\CommonMarkHighlighter\{FencedCodeRenderer, IndentedCodeRenderer}; @@ -172,8 +175,7 @@ class Note extends Model return null; } - $hcards = $this->makeHCards($value); - $hashtags = $this->autoLinkHashtag($hcards); + $hashtags = $this->autoLinkHashtag($value); return $this->convertMarkdown($hashtags); } @@ -377,9 +379,11 @@ class Note extends Model */ public function getTwitterContentAttribute(): string { + $this->getContacts(); + // check for contacts if ($this->contacts === null || count($this->contacts) === 0) { - throw new TwitterContentException('There are no contacts for this note'); + return ''; } // here we check the matched contact from the note corresponds to a contact @@ -388,10 +392,10 @@ class Note extends Model count(array_unique(array_values($this->contacts))) === 1 && array_unique(array_values($this->contacts))[0] === null ) { - throw new TwitterContentException('The matched contact is not in the database'); + return ''; } - // swap in twitter usernames + // swap in Twitter usernames $swapped = preg_replace_callback( self::USERNAMES_REGEX, function ($matches) { @@ -406,7 +410,7 @@ class Note extends Model return $contact->name; }, - $this->getOriginal('note') + $this->getRawOriginal('note') ); return $this->convertMarkdown($swapped); @@ -527,9 +531,21 @@ class Note extends Model */ private function convertMarkdown(string $note): string { - $environment = new Environment(); + $config = [ + 'mentions' => [ + 'contacts_handle' => [ + 'prefix' => '@', + 'pattern' => '[a-z\d](?:[a-z\d]|-(?=[a-z\d])){0,38}(?!\w)', + 'generator' => new ContactMentionGenerator(), + ], + ], + ]; + + $environment = new Environment($config); $environment->addExtension(new CommonMarkCoreExtension()); $environment->addExtension(new AutolinkExtension()); + $environment->addExtension(new MentionExtension()); + $environment->addRenderer(Mention::class, new ContactMentionRenderer()); $environment->addRenderer(FencedCode::class, new FencedCodeRenderer()); $environment->addRenderer(IndentedCode::class, new IndentedCodeRenderer()); $markdownConverter = new MarkdownConverter($environment); diff --git a/resources/views/templates/note.blade.php b/resources/views/templates/note.blade.php index 0ab9d4c2..20309057 100644 --- a/resources/views/templates/note.blade.php +++ b/resources/views/templates/note.blade.php @@ -15,11 +15,11 @@ @if($media->type == 'download')

Download the attached media

@endif @endforeach -@php -try { - echo '
' . $note->twitter_content . '
'; -} catch (App\Exceptions\TwitterContentException $exception) {} -@endphp + @if ($note->twitter_content) +
+ {!! $note->twitter_content !!} +
+ @endif diff --git a/tests/Feature/Admin/LikesTest.php b/tests/Feature/Admin/LikesTest.php index 462fc2e4..810413b8 100644 --- a/tests/Feature/Admin/LikesTest.php +++ b/tests/Feature/Admin/LikesTest.php @@ -43,10 +43,10 @@ class LikesTest extends TestCase $this->actingAs($user) ->post('/admin/likes', [ - 'like_url' => 'https://example.com' + 'like_url' => 'https://example.com', ]); $this->assertDatabaseHas('likes', [ - 'url' => 'https://example.com' + 'url' => 'https://example.com', ]); Queue::assertPushed(ProcessLike::class); } diff --git a/tests/Feature/FeedsTest.php b/tests/Feature/FeedsTest.php index 6d5f46a7..6bc9cd9c 100644 --- a/tests/Feature/FeedsTest.php +++ b/tests/Feature/FeedsTest.php @@ -70,7 +70,7 @@ class FeedsTest extends TestCase 'children' => [[ 'type' => 'entry', 'post-type' => 'article', - ]] + ]], ]); } @@ -131,7 +131,7 @@ class FeedsTest extends TestCase 'children' => [[ 'type' => 'entry', 'post-type' => 'note', - ]] + ]], ]); } diff --git a/tests/Feature/HorizonTest.php b/tests/Feature/HorizonTest.php index fe264981..45df6288 100644 --- a/tests/Feature/HorizonTest.php +++ b/tests/Feature/HorizonTest.php @@ -3,8 +3,6 @@ namespace Tests\Feature; use App\Models\User; -use Illuminate\Foundation\Testing\RefreshDatabase; -use Illuminate\Foundation\Testing\WithFaker; use Tests\TestCase; class HorizonTest extends TestCase @@ -13,6 +11,7 @@ class HorizonTest extends TestCase * Horizon has its own test suite, here we just test it has been installed successfully. * * @test + * * @return void */ public function horizonIsInstalled(): void diff --git a/tests/Feature/LikesTest.php b/tests/Feature/LikesTest.php index b521f957..a4899e21 100644 --- a/tests/Feature/LikesTest.php +++ b/tests/Feature/LikesTest.php @@ -85,7 +85,7 @@ class LikesTest extends TestCase $job = new ProcessLike($like); - $content = <<
@@ -124,7 +124,7 @@ class LikesTest extends TestCase $job = new ProcessLike($like); - $content = <<
@@ -167,7 +167,7 @@ class LikesTest extends TestCase $job = new ProcessLike($like); - $content = <<
diff --git a/tests/Feature/MicropubControllerTest.php b/tests/Feature/MicropubControllerTest.php index ffdc7660..688ca1b8 100644 --- a/tests/Feature/MicropubControllerTest.php +++ b/tests/Feature/MicropubControllerTest.php @@ -4,13 +4,17 @@ declare(strict_types=1); namespace Tests\Feature; +use App\Jobs\SendWebMentions; +use App\Jobs\SyndicateNoteToTwitter; +use App\Models\Media; +use App\Models\Note; +use App\Models\Place; +use Carbon\Carbon; use Faker\Factory; use Illuminate\Foundation\Testing\RefreshDatabase; -use App\Jobs\{SendWebMentions, SyndicateNoteToTwitter}; -use App\Models\{Media, Note, Place}; -use Carbon\Carbon; use Illuminate\Support\Facades\Queue; -use Tests\{TestCase, TestToken}; +use Tests\TestCase; +use Tests\TestToken; class MicropubControllerTest extends TestCase { @@ -67,6 +71,7 @@ class MicropubControllerTest extends TestCase /** * @test + * * @todo Add uncertainty parameter * public function micropubClientsCanRequestKnownNearbyPlacesWithUncertaintyParameter(): void @@ -119,7 +124,7 @@ class MicropubControllerTest extends TestCase [ 'h' => 'entry', 'content' => $note, - 'mp-syndicate-to' => 'https://twitter.com/jonnybarnes' + 'mp-syndicate-to' => 'https://twitter.com/jonnybarnes', ], ['HTTP_Authorization' => 'Bearer ' . $this->getToken()] ); @@ -136,7 +141,7 @@ class MicropubControllerTest extends TestCase [ 'h' => 'card', 'name' => 'The Barton Arms', - 'geo' => 'geo:53.4974,-2.3768' + 'geo' => 'geo:53.4974,-2.3768', ], ['HTTP_Authorization' => 'Bearer ' . $this->getToken()] ); @@ -199,7 +204,7 @@ class MicropubControllerTest extends TestCase [ 'h' => 'card', 'name' => 'The Barton Arms', - 'geo' => 'geo:53.4974,-2.3768' + 'geo' => 'geo:53.4974,-2.3768', ], ['HTTP_Authorization' => 'Bearer ' . $this->getTokenWithIncorrectScope()] ); @@ -366,7 +371,7 @@ class MicropubControllerTest extends TestCase $response ->assertJson([ 'response' => 'error', - 'error' => 'unauthorized' + 'error' => 'unauthorized', ]) ->assertStatus(401); } @@ -394,7 +399,7 @@ class MicropubControllerTest extends TestCase $response ->assertJson([ 'response' => 'error', - 'error' => 'insufficient_scope' + 'error' => 'insufficient_scope', ]) ->assertStatus(401); } @@ -415,7 +420,7 @@ class MicropubControllerTest extends TestCase $response ->assertJson([ 'response' => 'error', - 'error_description' => 'unsupported_request_type' + 'error_description' => 'unsupported_request_type', ]) ->assertStatus(500); } @@ -430,7 +435,7 @@ class MicropubControllerTest extends TestCase 'type' => ['h-card'], 'properties' => [ 'name' => $faker->name, - 'geo' => 'geo:' . $faker->latitude . ',' . $faker->longitude + 'geo' => 'geo:' . $faker->latitude . ',' . $faker->longitude, ], ], ['HTTP_Authorization' => 'Bearer ' . $this->getToken()] @@ -450,7 +455,7 @@ class MicropubControllerTest extends TestCase 'type' => ['h-card'], 'properties' => [ 'name' => $faker->name, - 'geo' => 'geo:' . $faker->latitude . ',' . $faker->longitude . ';u=35' + 'geo' => 'geo:' . $faker->latitude . ',' . $faker->longitude . ';u=35', ], ], ['HTTP_Authorization' => 'Bearer ' . $this->getToken()] diff --git a/tests/Feature/OwnYourGramTest.php b/tests/Feature/OwnYourGramTest.php index 29a61ce8..076f114b 100644 --- a/tests/Feature/OwnYourGramTest.php +++ b/tests/Feature/OwnYourGramTest.php @@ -29,7 +29,7 @@ class OwnYourGramTest extends TestCase 'syndication' => ['https://www.instagram.com/p/BVC_nVTBFfi/'], 'photo' => [ // phpcs:ignore Generic.Files.LineLength.TooLong - 'https://scontent-sjc2-1.cdninstagram.com/t51.2885-15/e35/18888604_425332491185600_326487281944756224_n.jpg' + 'https://scontent-sjc2-1.cdninstagram.com/t51.2885-15/e35/18888604_425332491185600_326487281944756224_n.jpg', ], ], ], @@ -37,15 +37,15 @@ class OwnYourGramTest extends TestCase ); $response->assertStatus(201)->assertJson([ - 'response' => 'created' + 'response' => 'created', ]); $this->assertDatabaseHas('media_endpoint', [ // phpcs:ignore Generic.Files.LineLength.TooLong - 'path' => 'https://scontent-sjc2-1.cdninstagram.com/t51.2885-15/e35/18888604_425332491185600_326487281944756224_n.jpg' + 'path' => 'https://scontent-sjc2-1.cdninstagram.com/t51.2885-15/e35/18888604_425332491185600_326487281944756224_n.jpg', ]); $this->assertDatabaseHas('notes', [ 'note' => 'How beautiful are the plates and chopsticks', - 'instagram_url' => 'https://www.instagram.com/p/BVC_nVTBFfi/' + 'instagram_url' => 'https://www.instagram.com/p/BVC_nVTBFfi/', ]); } } diff --git a/tests/Feature/SwarmTest.php b/tests/Feature/SwarmTest.php index 599cadb7..7283aa50 100644 --- a/tests/Feature/SwarmTest.php +++ b/tests/Feature/SwarmTest.php @@ -54,10 +54,10 @@ class SwarmTest extends TestCase ->assertStatus(201) ->assertJson(['response' => 'created']); $this->assertDatabaseHas('notes', [ - 'swarm_url' => 'https://www.swarmapp.com/checkin/abc' + 'swarm_url' => 'https://www.swarmapp.com/checkin/abc', ]); $this->assertDatabaseHas('places', [ - 'external_urls' => '{"foursquare": "https://foursquare.com/v/123456"}' + 'external_urls' => '{"foursquare": "https://foursquare.com/v/123456"}', ]); Queue::assertPushed(SendWebMentions::class); @@ -101,7 +101,7 @@ class SwarmTest extends TestCase ->assertStatus(201) ->assertJson(['response' => 'created']); $this->assertDatabaseHas('places', [ - 'external_urls' => '{"osm": "https://www.openstreetmap.org/way/123456"}' + 'external_urls' => '{"osm": "https://www.openstreetmap.org/way/123456"}', ]); Queue::assertPushed(SendWebMentions::class); @@ -144,7 +144,7 @@ class SwarmTest extends TestCase ->assertStatus(201) ->assertJson(['response' => 'created']); $this->assertDatabaseHas('places', [ - 'external_urls' => '{"default": "https://www.example.org/way/123456"}' + 'external_urls' => '{"default": "https://www.example.org/way/123456"}', ]); Queue::assertPushed(SendWebMentions::class); @@ -178,10 +178,10 @@ class SwarmTest extends TestCase ->assertStatus(201) ->assertJson(['response' => 'created']); $this->assertDatabaseHas('places', [ - 'external_urls' => '{"foursquare": "https://foursquare.com/v/654321"}' + 'external_urls' => '{"foursquare": "https://foursquare.com/v/654321"}', ]); $this->assertDatabaseHas('notes', [ - 'swarm_url' => 'https://www.swarmapp.com/checkin/def' + 'swarm_url' => 'https://www.swarmapp.com/checkin/def', ]); // Check the default text content for the note was saved $this->get($response->__get('headers')->get('location'))->assertSee('📍'); @@ -280,10 +280,10 @@ class SwarmTest extends TestCase [ 'type' => ['h-entry'], 'properties' => [ - 'published' => [Carbon::now()->toDateTimeString()] + 'published' => [Carbon::now()->toDateTimeString()], ], 'syndication' => [ - 'https://www.swarmapp.com/user/199841/checkin/5c4b1ac56dcf04002c0a4f58' + 'https://www.swarmapp.com/user/199841/checkin/5c4b1ac56dcf04002c0a4f58', ], 'checkin' => [ 'type' => ['h-card'], @@ -295,9 +295,9 @@ class SwarmTest extends TestCase 'street-address' => ['65 Oldham St.'], 'locality' => ['Manchester'], 'country-name' => ['United Kingdom'], - 'postal-code' => ['M1 1JR'] + 'postal-code' => ['M1 1JR'], ], - 'value' => 'https://foursquare.com/v/4ade0e46f964a520bf6f21e3' + 'value' => 'https://foursquare.com/v/4ade0e46f964a520bf6f21e3', ], 'location' => [ 'type' => ['h-adr'], @@ -307,8 +307,8 @@ class SwarmTest extends TestCase 'street-address' => ['65 Oldham St.'], 'locality' => ['Manchester'], 'country-name' => ['United Kingdom'], - 'postal-code' => ['M1 1JR'] - ] + 'postal-code' => ['M1 1JR'], + ], ], ], ['HTTP_Authorization' => 'Bearer ' . $this->getToken()] diff --git a/tests/Feature/TokenEndpointTest.php b/tests/Feature/TokenEndpointTest.php index de798a40..c9924b68 100644 --- a/tests/Feature/TokenEndpointTest.php +++ b/tests/Feature/TokenEndpointTest.php @@ -59,7 +59,7 @@ class TokenEndpointTest extends TestCase ]); $response->assertStatus(401); $response->assertJson([ - 'error' => 'There was an error verifying the authorisation code.' + 'error' => 'There was an error verifying the authorisation code.', ]); } @@ -81,7 +81,7 @@ class TokenEndpointTest extends TestCase ]); $response->assertStatus(400); $response->assertJson([ - 'error' => 'Can’t determine the authorisation endpoint.'] + 'error' => 'Can’t determine the authorisation endpoint.', ] ); } } diff --git a/tests/Feature/TokenServiceTest.php b/tests/Feature/TokenServiceTest.php index 131d2b9d..9935c4fe 100644 --- a/tests/Feature/TokenServiceTest.php +++ b/tests/Feature/TokenServiceTest.php @@ -25,14 +25,14 @@ class TokenServiceTest extends TestCase $data = [ 'me' => 'https://example.org', 'client_id' => 'https://quill.p3k.io', - 'scope' => 'post' + 'scope' => 'post', ]; $token = $tokenService->getNewToken($data); $valid = $tokenService->validateToken($token); $validData = [ 'me' => $valid->claims()->get('me'), 'client_id' => $valid->claims()->get('client_id'), - 'scope' => $valid->claims()->get('scope') + 'scope' => $valid->claims()->get('scope'), ]; $this->assertSame($data, $validData); } @@ -45,7 +45,7 @@ class TokenServiceTest extends TestCase $data = [ 'me' => 'https://example.org', 'client_id' => 'https://quill.p3k.io', - 'scope' => 'post' + 'scope' => 'post', ]; $config = resolve(Configuration::class); diff --git a/tests/Feature/WebMentionsControllerTest.php b/tests/Feature/WebMentionsControllerTest.php index 870aa282..27e9d0eb 100644 --- a/tests/Feature/WebMentionsControllerTest.php +++ b/tests/Feature/WebMentionsControllerTest.php @@ -43,7 +43,7 @@ class WebMentionsControllerTest extends TestCase { $response = $this->call('POST', '/webmention', [ 'source' => 'https://example.org/post/123', - 'target' => config('app.url') . '/invalid/target' + 'target' => config('app.url') . '/invalid/target', ]); $response->assertStatus(400); } @@ -57,7 +57,7 @@ class WebMentionsControllerTest extends TestCase { $response = $this->call('POST', '/webmention', [ 'source' => 'https://example.org/post/123', - 'target' => config('app.url') . '/blog/target' + 'target' => config('app.url') . '/blog/target', ]); $response->assertStatus(501); } @@ -71,7 +71,7 @@ class WebMentionsControllerTest extends TestCase { $response = $this->call('POST', '/webmention', [ 'source' => 'https://example.org/post/123', - 'target' => config('app.url') . '/notes/ZZZZZ' + 'target' => config('app.url') . '/notes/ZZZZZ', ]); $response->assertStatus(400); } diff --git a/tests/Unit/HelpersTest.php b/tests/Unit/HelpersTest.php index f173ff09..fa5c56fc 100644 --- a/tests/Unit/HelpersTest.php +++ b/tests/Unit/HelpersTest.php @@ -18,8 +18,9 @@ class HelpersTest extends TestCase /** * @test * @dataProvider urlProvider - * @param string $input - * @param string $output + * + * @param string $input + * @param string $output */ public function normalizeUrlOnDataProvider(string $input, string $output): void { @@ -30,12 +31,12 @@ class HelpersTest extends TestCase public function prettyPrintJson(): void { // phpcs:disable Generic.Files.LineLength.TooLong - $json = <<assertFileDoesNotExist(storage_path('HTML/https')); $source = 'https://example.org/reply/1'; - $html = <<
@@ -56,12 +56,12 @@ class DownloadWebMentionJobTest extends TestCase { $this->assertFileDoesNotExist(storage_path('HTML/https')); $source = 'https://example.org/reply/1'; - $html = <<
HTML; - $html2 = << @@ -91,7 +91,7 @@ class DownloadWebMentionJobTest extends TestCase { $this->assertFileDoesNotExist(storage_path('HTML/https')); $source = 'https://example.org/reply-one/'; - $html = <<
diff --git a/tests/Unit/Jobs/ProcessWebMentionJobTest.php b/tests/Unit/Jobs/ProcessWebMentionJobTest.php index 4d76a4fb..b792b8d2 100644 --- a/tests/Unit/Jobs/ProcessWebMentionJobTest.php +++ b/tests/Unit/Jobs/ProcessWebMentionJobTest.php @@ -58,7 +58,7 @@ class ProcessWebMentionJobTest extends TestCase $parser = new Parser(); - $html = << I liked a note. @@ -125,7 +125,7 @@ class ProcessWebMentionJobTest extends TestCase { $parser = new Parser(); - $html = <<

In reply to a note

Replying to someone else
@@ -162,7 +162,7 @@ class ProcessWebMentionJobTest extends TestCase { $parser = new Parser(); - $html = <<

In reply to a note

I like someone else now
@@ -199,7 +199,7 @@ class ProcessWebMentionJobTest extends TestCase { $parser = new Parser(); - $html = <<

In reply to a note

Reposting someone else
diff --git a/tests/Unit/Jobs/SyndicateBookmarkToTwitterJobTest.php b/tests/Unit/Jobs/SyndicateBookmarkToTwitterJobTest.php index 5f7eeb28..8162bd83 100644 --- a/tests/Unit/Jobs/SyndicateBookmarkToTwitterJobTest.php +++ b/tests/Unit/Jobs/SyndicateBookmarkToTwitterJobTest.php @@ -23,7 +23,7 @@ class SyndicateBookmarkToTwitterJobTest extends TestCase $faker = \Faker\Factory::create(); $randomNumber = $faker->randomNumber(); $json = json_encode([ - 'url' => 'https://twitter.com/' . $randomNumber + 'url' => 'https://twitter.com/' . $randomNumber, ]); $mock = new MockHandler([ new Response(201, ['Content-Type' => 'application/json'], $json), diff --git a/tests/Unit/LikesTest.php b/tests/Unit/LikesTest.php index 3952b1e7..f9203d8d 100644 --- a/tests/Unit/LikesTest.php +++ b/tests/Unit/LikesTest.php @@ -45,7 +45,7 @@ class LikesTest extends TestCase /** @test */ public function htmlLikeContentIsFiltered(): void { - $htmlEvil = <<

Hello

@@ -53,7 +53,7 @@ class LikesTest extends TestCase
HTML; - $htmlFiltered = <<Hello

HTML; diff --git a/tests/Unit/NotesTest.php b/tests/Unit/NotesTest.php index 61cd9381..489673c2 100644 --- a/tests/Unit/NotesTest.php +++ b/tests/Unit/NotesTest.php @@ -4,14 +4,18 @@ declare(strict_types=1); namespace Tests\Unit; -use App\Models\{Contact, Media, Note, Place, Tag}; -use Illuminate\Filesystem\Filesystem; -use Illuminate\Foundation\Testing\RefreshDatabase; -use Illuminate\Support\Facades\Cache; +use App\Models\Contact; +use App\Models\Media; +use App\Models\Note; +use App\Models\Place; +use App\Models\Tag; use GuzzleHttp\Client; use GuzzleHttp\Handler\MockHandler; use GuzzleHttp\HandlerStack; use GuzzleHttp\Psr7\Response; +use Illuminate\Filesystem\Filesystem; +use Illuminate\Foundation\Testing\RefreshDatabase; +use Illuminate\Support\Facades\Cache; use Tests\TestCase; class NotesTest extends TestCase @@ -23,6 +27,7 @@ class NotesTest extends TestCase * relevant sub-methods. * * @test + * * @return void */ public function getNoteAttributeMethodCallsSubMethods(): void @@ -39,6 +44,7 @@ class NotesTest extends TestCase * Look for a default image in the contact’s h-card for the makeHCards method. * * @test + * * @return void */ public function defaultImageUsedAsFallbackInMakehcardsMethod(): void @@ -62,6 +68,7 @@ class NotesTest extends TestCase * Look for a specific profile image in the contact’s h-card. * * @test + * * @return void */ public function specificProfileImageUsedInMakehcardsMethod(): void @@ -75,7 +82,7 @@ class NotesTest extends TestCase ]); $fileSystem = new Filesystem(); $fileSystem->ensureDirectoryExists(public_path('/assets/profile-images/aaronparecki.com')); - if (!$fileSystem->exists(public_path('/assets/profile-images/aaronparecki.com/image'))) { + if (! $fileSystem->exists(public_path('/assets/profile-images/aaronparecki.com/image'))) { $fileSystem->copy('./tests/aaron.png', public_path('/assets/profile-images/aaronparecki.com/image')); } $note = Note::factory()->create([ @@ -91,6 +98,7 @@ class NotesTest extends TestCase * Look for twitter URL when there’s no associated contact. * * @test + * * @return void */ public function twitterLinkIsCreatedWhenNoContactFound(): void @@ -306,8 +314,8 @@ class NotesTest extends TestCase ]); $note->media()->save($media); - $expected = "

A nice image

-\"\""; + $expected = '

A nice image

+'; $this->assertEquals($expected, $note->content); } @@ -323,8 +331,8 @@ class NotesTest extends TestCase ]); $note->media()->save($media); - $expected = "

A nice video

-