Merge pull request #1454 from jonnybarnes/develop

MTM Fix issuing of tokens
This commit is contained in:
Jonny Barnes 2024-06-30 11:20:41 +01:00 committed by GitHub
commit 0336744322
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 365 additions and 217 deletions

View file

@ -104,7 +104,7 @@ class IndieAuthController extends Controller
'client_id' => $request->get('client_id'),
'redirect_uri' => $request->get('redirect_uri'),
'auth_code' => $authCode,
'scopes' => $request->get('scopes', ''),
'scope' => $request->get('scope', ''),
];
Cache::put($cacheKey, $indieAuthRequestData, now()->addMinutes(10));
@ -116,11 +116,6 @@ class IndieAuthController extends Controller
'iss' => config('app.url'),
]);
// For now just dump URL scheme
// return response()->json([
// 'redirect_uri' => $redirectUri,
// ]);
return redirect()->away($redirectUri);
}
@ -160,7 +155,7 @@ class IndieAuthController extends Controller
return $indieAuthData;
}
if ($indieAuthData['scopes'] === '') {
if ($indieAuthData['scope'] === '') {
return response()->json(['errors' => [
'scope' => [
'The scope property must be non-empty for an access token to be issued.',
@ -171,7 +166,7 @@ class IndieAuthController extends Controller
$tokenData = [
'me' => config('app.url'),
'client_id' => $request->get('client_id'),
'scope' => $indieAuthData['scopes'],
'scope' => $indieAuthData['scope'],
];
$tokenService = resolve(TokenService::class);
$token = $tokenService->getNewToken($tokenData);
@ -179,7 +174,7 @@ class IndieAuthController extends Controller
return response()->json([
'access_token' => $token,
'token_type' => 'Bearer',
'scope' => $indieAuthData['scopes'],
'scope' => $indieAuthData['scope'],
'me' => config('app.url'),
]);
}
@ -189,16 +184,12 @@ class IndieAuthController extends Controller
// If client_id is not a valid URL, then it's not valid
$clientIdParsed = \Mf2\parseUriToComponents($clientId);
if (! isset($clientIdParsed['authority'])) {
ray($clientIdParsed);
return false;
}
// If redirect_uri is not a valid URL, then it's not valid
$redirectUriParsed = \Mf2\parseUriToComponents($redirectUri);
if (! isset($redirectUriParsed['authority'])) {
ray($redirectUriParsed);
return false;
}
@ -212,9 +203,7 @@ class IndieAuthController extends Controller
try {
$clientInfo = $guzzle->get($clientId);
} catch (Exception $e) {
ray('Failed to fetch client info', $e->getMessage());
} catch (Exception) {
return false;
}

View file

@ -44,7 +44,7 @@
"laravel/sail": "^1.18",
"mockery/mockery": "^1.4.4",
"nunomaduro/collision": "^8.1",
"openai-php/client": "^0.8.0",
"openai-php/client": "^0.10.1",
"phpunit/php-code-coverage": "^10.0",
"phpunit/phpunit": "^10.1",
"psalm/plugin-laravel": "^2.8",

419
composer.lock generated
View file

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "c8d12b416f44f430d0c44692a7eb0a45",
"content-hash": "22b0b5bb1551ec7ed14a1f2a9e3a5f60",
"packages": [
{
"name": "aws/aws-crt-php",
@ -1999,16 +1999,16 @@
},
{
"name": "laravel/framework",
"version": "v11.11.1",
"version": "v11.13.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "c9b52e84bd18f155e5ba59b948c7da3e7f37e87f"
"reference": "92deaa4f037ff100e36809443811301819a8cf84"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/c9b52e84bd18f155e5ba59b948c7da3e7f37e87f",
"reference": "c9b52e84bd18f155e5ba59b948c7da3e7f37e87f",
"url": "https://api.github.com/repos/laravel/framework/zipball/92deaa4f037ff100e36809443811301819a8cf84",
"reference": "92deaa4f037ff100e36809443811301819a8cf84",
"shasum": ""
},
"require": {
@ -2200,7 +2200,7 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
"time": "2024-06-20T10:54:53+00:00"
"time": "2024-06-27T09:04:50+00:00"
},
{
"name": "laravel/horizon",
@ -2673,16 +2673,16 @@
},
{
"name": "lcobucci/jwt",
"version": "5.2.0",
"version": "5.3.0",
"source": {
"type": "git",
"url": "https://github.com/lcobucci/jwt.git",
"reference": "0ba88aed12c04bd2ed9924f500673f32b67a6211"
"reference": "08071d8d2c7f4b00222cc4b1fb6aa46990a80f83"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/lcobucci/jwt/zipball/0ba88aed12c04bd2ed9924f500673f32b67a6211",
"reference": "0ba88aed12c04bd2ed9924f500673f32b67a6211",
"url": "https://api.github.com/repos/lcobucci/jwt/zipball/08071d8d2c7f4b00222cc4b1fb6aa46990a80f83",
"reference": "08071d8d2c7f4b00222cc4b1fb6aa46990a80f83",
"shasum": ""
},
"require": {
@ -2730,7 +2730,7 @@
],
"support": {
"issues": "https://github.com/lcobucci/jwt/issues",
"source": "https://github.com/lcobucci/jwt/tree/5.2.0"
"source": "https://github.com/lcobucci/jwt/tree/5.3.0"
},
"funding": [
{
@ -2742,7 +2742,7 @@
"type": "patreon"
}
],
"time": "2023-11-20T21:17:42+00:00"
"time": "2024-04-11T23:07:54+00:00"
},
{
"name": "league/commonmark",
@ -3480,16 +3480,16 @@
},
{
"name": "monolog/monolog",
"version": "3.6.0",
"version": "3.7.0",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
"reference": "4b18b21a5527a3d5ffdac2fd35d3ab25a9597654"
"reference": "f4393b648b78a5408747de94fca38beb5f7e9ef8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/4b18b21a5527a3d5ffdac2fd35d3ab25a9597654",
"reference": "4b18b21a5527a3d5ffdac2fd35d3ab25a9597654",
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/f4393b648b78a5408747de94fca38beb5f7e9ef8",
"reference": "f4393b648b78a5408747de94fca38beb5f7e9ef8",
"shasum": ""
},
"require": {
@ -3565,7 +3565,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
"source": "https://github.com/Seldaek/monolog/tree/3.6.0"
"source": "https://github.com/Seldaek/monolog/tree/3.7.0"
},
"funding": [
{
@ -3577,7 +3577,7 @@
"type": "tidelift"
}
],
"time": "2024-04-12T21:02:21+00:00"
"time": "2024-06-28T09:40:51+00:00"
},
{
"name": "mtdowling/jmespath.php",
@ -5361,23 +5361,97 @@
"time": "2021-08-04T18:03:57+00:00"
},
{
"name": "spatie/flare-client-php",
"version": "1.6.0",
"name": "spatie/error-solutions",
"version": "1.0.4",
"source": {
"type": "git",
"url": "https://github.com/spatie/flare-client-php.git",
"reference": "220a7c8745e9fa427d54099f47147c4b97fe6462"
"url": "https://github.com/spatie/error-solutions.git",
"reference": "264a7eef892aceb2fd65e206127ad3af4f3a2d6b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/flare-client-php/zipball/220a7c8745e9fa427d54099f47147c4b97fe6462",
"reference": "220a7c8745e9fa427d54099f47147c4b97fe6462",
"url": "https://api.github.com/repos/spatie/error-solutions/zipball/264a7eef892aceb2fd65e206127ad3af4f3a2d6b",
"reference": "264a7eef892aceb2fd65e206127ad3af4f3a2d6b",
"shasum": ""
},
"require": {
"php": "^8.0"
},
"require-dev": {
"illuminate/broadcasting": "^10.0|^11.0",
"illuminate/cache": "^10.0|^11.0",
"illuminate/support": "^10.0|^11.0",
"livewire/livewire": "^2.11|^3.3.5",
"openai-php/client": "^0.10.1",
"orchestra/testbench": "^7.0|8.22.3|^9.0",
"pestphp/pest": "^2.20",
"phpstan/phpstan": "^1.11",
"psr/simple-cache": "^3.0",
"psr/simple-cache-implementation": "^3.0",
"spatie/ray": "^1.28",
"symfony/cache": "^5.4|^6.0|^7.0",
"symfony/process": "^5.4|^6.0|^7.0",
"vlucas/phpdotenv": "^5.5"
},
"suggest": {
"openai-php/client": "Require get solutions from OpenAI",
"simple-cache-implementation": "To cache solutions from OpenAI"
},
"type": "library",
"autoload": {
"psr-4": {
"Spatie\\Ignition\\": "legacy/ignition",
"Spatie\\ErrorSolutions\\": "src",
"Spatie\\LaravelIgnition\\": "legacy/laravel-ignition"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ruben Van Assche",
"email": "ruben@spatie.be",
"role": "Developer"
}
],
"description": "This is my package error-solutions",
"homepage": "https://github.com/spatie/error-solutions",
"keywords": [
"error-solutions",
"spatie"
],
"support": {
"issues": "https://github.com/spatie/error-solutions/issues",
"source": "https://github.com/spatie/error-solutions/tree/1.0.4"
},
"funding": [
{
"url": "https://github.com/Spatie",
"type": "github"
}
],
"time": "2024-06-28T13:33:04+00:00"
},
{
"name": "spatie/flare-client-php",
"version": "1.7.0",
"source": {
"type": "git",
"url": "https://github.com/spatie/flare-client-php.git",
"reference": "097040ff51e660e0f6fc863684ac4b02c93fa234"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/flare-client-php/zipball/097040ff51e660e0f6fc863684ac4b02c93fa234",
"reference": "097040ff51e660e0f6fc863684ac4b02c93fa234",
"shasum": ""
},
"require": {
"illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0",
"php": "^8.0",
"spatie/backtrace": "^1.5.2",
"spatie/backtrace": "^1.6.1",
"symfony/http-foundation": "^5.2|^6.0|^7.0",
"symfony/mime": "^5.2|^6.0|^7.0",
"symfony/process": "^5.2|^6.0|^7.0",
@ -5419,7 +5493,7 @@
],
"support": {
"issues": "https://github.com/spatie/flare-client-php/issues",
"source": "https://github.com/spatie/flare-client-php/tree/1.6.0"
"source": "https://github.com/spatie/flare-client-php/tree/1.7.0"
},
"funding": [
{
@ -5427,28 +5501,28 @@
"type": "github"
}
],
"time": "2024-05-22T09:45:39+00:00"
"time": "2024-06-12T14:39:14+00:00"
},
{
"name": "spatie/ignition",
"version": "1.14.2",
"version": "1.15.0",
"source": {
"type": "git",
"url": "https://github.com/spatie/ignition.git",
"reference": "5e11c11f675bb5251f061491a493e04a1a571532"
"reference": "e3a68e137371e1eb9edc7f78ffa733f3b98991d2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/ignition/zipball/5e11c11f675bb5251f061491a493e04a1a571532",
"reference": "5e11c11f675bb5251f061491a493e04a1a571532",
"url": "https://api.github.com/repos/spatie/ignition/zipball/e3a68e137371e1eb9edc7f78ffa733f3b98991d2",
"reference": "e3a68e137371e1eb9edc7f78ffa733f3b98991d2",
"shasum": ""
},
"require": {
"ext-json": "*",
"ext-mbstring": "*",
"php": "^8.0",
"spatie/backtrace": "^1.5.3",
"spatie/flare-client-php": "^1.4.0",
"spatie/error-solutions": "^1.0",
"spatie/flare-client-php": "^1.7",
"symfony/console": "^5.4|^6.0|^7.0",
"symfony/var-dumper": "^5.4|^6.0|^7.0"
},
@ -5510,20 +5584,20 @@
"type": "github"
}
],
"time": "2024-05-29T08:10:20+00:00"
"time": "2024-06-12T14:55:22+00:00"
},
{
"name": "spatie/laravel-ignition",
"version": "2.7.0",
"version": "2.8.0",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-ignition.git",
"reference": "f52124d50122611e8a40f628cef5c19ff6cc5b57"
"reference": "3c067b75bfb50574db8f7e2c3978c65eed71126c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/f52124d50122611e8a40f628cef5c19ff6cc5b57",
"reference": "f52124d50122611e8a40f628cef5c19ff6cc5b57",
"url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/3c067b75bfb50574db8f7e2c3978c65eed71126c",
"reference": "3c067b75bfb50574db8f7e2c3978c65eed71126c",
"shasum": ""
},
"require": {
@ -5532,8 +5606,7 @@
"ext-mbstring": "*",
"illuminate/support": "^10.0|^11.0",
"php": "^8.1",
"spatie/flare-client-php": "^1.5",
"spatie/ignition": "^1.14",
"spatie/ignition": "^1.15",
"symfony/console": "^6.2.3|^7.0",
"symfony/var-dumper": "^6.2.3|^7.0"
},
@ -5602,7 +5675,7 @@
"type": "github"
}
],
"time": "2024-05-02T13:42:49+00:00"
"time": "2024-06-12T15:01:18+00:00"
},
{
"name": "spomky-labs/cbor-php",
@ -5874,16 +5947,16 @@
},
{
"name": "symfony/console",
"version": "v7.1.1",
"version": "v7.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "9b008f2d7b21c74ef4d0c3de6077a642bc55ece3"
"reference": "0aa29ca177f432ab68533432db0de059f39c92ae"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/9b008f2d7b21c74ef4d0c3de6077a642bc55ece3",
"reference": "9b008f2d7b21c74ef4d0c3de6077a642bc55ece3",
"url": "https://api.github.com/repos/symfony/console/zipball/0aa29ca177f432ab68533432db0de059f39c92ae",
"reference": "0aa29ca177f432ab68533432db0de059f39c92ae",
"shasum": ""
},
"require": {
@ -5947,7 +6020,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v7.1.1"
"source": "https://github.com/symfony/console/tree/v7.1.2"
},
"funding": [
{
@ -5963,7 +6036,7 @@
"type": "tidelift"
}
],
"time": "2024-05-31T14:57:53+00:00"
"time": "2024-06-28T10:03:55+00:00"
},
{
"name": "symfony/css-selector",
@ -6099,16 +6172,16 @@
},
{
"name": "symfony/error-handler",
"version": "v7.1.1",
"version": "v7.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
"reference": "e9b8bbce0b4f322939332ab7b6b81d8c11da27dd"
"reference": "2412d3dddb5c9ea51a39cfbff1c565fc9844ca32"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/error-handler/zipball/e9b8bbce0b4f322939332ab7b6b81d8c11da27dd",
"reference": "e9b8bbce0b4f322939332ab7b6b81d8c11da27dd",
"url": "https://api.github.com/repos/symfony/error-handler/zipball/2412d3dddb5c9ea51a39cfbff1c565fc9844ca32",
"reference": "2412d3dddb5c9ea51a39cfbff1c565fc9844ca32",
"shasum": ""
},
"require": {
@ -6154,7 +6227,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/error-handler/tree/v7.1.1"
"source": "https://github.com/symfony/error-handler/tree/v7.1.2"
},
"funding": [
{
@ -6170,7 +6243,7 @@
"type": "tidelift"
}
],
"time": "2024-05-31T14:57:53+00:00"
"time": "2024-06-25T19:55:06+00:00"
},
{
"name": "symfony/event-dispatcher",
@ -6540,16 +6613,16 @@
},
{
"name": "symfony/http-kernel",
"version": "v7.1.1",
"version": "v7.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
"reference": "fa8d1c75b5f33b1302afccf81811f93976c6e26f"
"reference": "ae3fa717db4d41a55d14c2bd92399e37cf5bc0f6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/fa8d1c75b5f33b1302afccf81811f93976c6e26f",
"reference": "fa8d1c75b5f33b1302afccf81811f93976c6e26f",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/ae3fa717db4d41a55d14c2bd92399e37cf5bc0f6",
"reference": "ae3fa717db4d41a55d14c2bd92399e37cf5bc0f6",
"shasum": ""
},
"require": {
@ -6634,7 +6707,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/http-kernel/tree/v7.1.1"
"source": "https://github.com/symfony/http-kernel/tree/v7.1.2"
},
"funding": [
{
@ -6650,20 +6723,20 @@
"type": "tidelift"
}
],
"time": "2024-06-04T06:52:15+00:00"
"time": "2024-06-28T13:13:31+00:00"
},
{
"name": "symfony/mailer",
"version": "v7.1.1",
"version": "v7.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/mailer.git",
"reference": "2eaad2e167cae930f25a3d731fec8b2ded5e751e"
"reference": "8fcff0af9043c8f8a8e229437cea363e282f9aee"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/mailer/zipball/2eaad2e167cae930f25a3d731fec8b2ded5e751e",
"reference": "2eaad2e167cae930f25a3d731fec8b2ded5e751e",
"url": "https://api.github.com/repos/symfony/mailer/zipball/8fcff0af9043c8f8a8e229437cea363e282f9aee",
"reference": "8fcff0af9043c8f8a8e229437cea363e282f9aee",
"shasum": ""
},
"require": {
@ -6714,7 +6787,7 @@
"description": "Helps sending emails",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/mailer/tree/v7.1.1"
"source": "https://github.com/symfony/mailer/tree/v7.1.2"
},
"funding": [
{
@ -6730,20 +6803,20 @@
"type": "tidelift"
}
],
"time": "2024-05-31T14:57:53+00:00"
"time": "2024-06-28T08:00:31+00:00"
},
{
"name": "symfony/mime",
"version": "v7.1.1",
"version": "v7.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
"reference": "21027eaacc1a8a20f5e616c25c3580f5dd3a15df"
"reference": "26a00b85477e69a4bab63b66c5dce64f18b0cbfc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/mime/zipball/21027eaacc1a8a20f5e616c25c3580f5dd3a15df",
"reference": "21027eaacc1a8a20f5e616c25c3580f5dd3a15df",
"url": "https://api.github.com/repos/symfony/mime/zipball/26a00b85477e69a4bab63b66c5dce64f18b0cbfc",
"reference": "26a00b85477e69a4bab63b66c5dce64f18b0cbfc",
"shasum": ""
},
"require": {
@ -6798,7 +6871,7 @@
"mime-type"
],
"support": {
"source": "https://github.com/symfony/mime/tree/v7.1.1"
"source": "https://github.com/symfony/mime/tree/v7.1.2"
},
"funding": [
{
@ -6814,7 +6887,7 @@
"type": "tidelift"
}
],
"time": "2024-06-04T06:40:14+00:00"
"time": "2024-06-28T10:03:55+00:00"
},
{
"name": "symfony/polyfill-ctype",
@ -7589,16 +7662,16 @@
},
{
"name": "symfony/property-access",
"version": "v7.0.4",
"version": "v7.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-access.git",
"reference": "44e3746d4de8d0961a44ee332c74dd0918266127"
"reference": "74e39e6a6276b8e384f34c6ddbc10a6c9a60193a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/property-access/zipball/44e3746d4de8d0961a44ee332c74dd0918266127",
"reference": "44e3746d4de8d0961a44ee332c74dd0918266127",
"url": "https://api.github.com/repos/symfony/property-access/zipball/74e39e6a6276b8e384f34c6ddbc10a6c9a60193a",
"reference": "74e39e6a6276b8e384f34c6ddbc10a6c9a60193a",
"shasum": ""
},
"require": {
@ -7645,7 +7718,7 @@
"reflection"
],
"support": {
"source": "https://github.com/symfony/property-access/tree/v7.0.4"
"source": "https://github.com/symfony/property-access/tree/v7.1.1"
},
"funding": [
{
@ -7661,25 +7734,26 @@
"type": "tidelift"
}
],
"time": "2024-02-16T13:44:10+00:00"
"time": "2024-05-31T14:57:53+00:00"
},
{
"name": "symfony/property-info",
"version": "v7.0.3",
"version": "v7.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-info.git",
"reference": "e160f92ea827243abf2dbf36b8460b1377194406"
"reference": "d7b91e4aa07e822a9b935fc29a7254c12d502f16"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/property-info/zipball/e160f92ea827243abf2dbf36b8460b1377194406",
"reference": "e160f92ea827243abf2dbf36b8460b1377194406",
"url": "https://api.github.com/repos/symfony/property-info/zipball/d7b91e4aa07e822a9b935fc29a7254c12d502f16",
"reference": "d7b91e4aa07e822a9b935fc29a7254c12d502f16",
"shasum": ""
},
"require": {
"php": ">=8.2",
"symfony/string": "^6.4|^7.0"
"symfony/string": "^6.4|^7.0",
"symfony/type-info": "^7.1"
},
"conflict": {
"phpdocumentor/reflection-docblock": "<5.2",
@ -7728,7 +7802,7 @@
"validator"
],
"support": {
"source": "https://github.com/symfony/property-info/tree/v7.0.3"
"source": "https://github.com/symfony/property-info/tree/v7.1.2"
},
"funding": [
{
@ -7744,7 +7818,7 @@
"type": "tidelift"
}
],
"time": "2024-01-23T15:02:46+00:00"
"time": "2024-06-26T07:21:35+00:00"
},
{
"name": "symfony/routing",
@ -7829,20 +7903,21 @@
},
{
"name": "symfony/serializer",
"version": "v7.0.4",
"version": "v7.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/serializer.git",
"reference": "c71d61c6c37804e10981960e5f5ebc2c8f0a4fbb"
"reference": "74817ee48e37cce1a1b33c66ffdb750e7e048c3c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/serializer/zipball/c71d61c6c37804e10981960e5f5ebc2c8f0a4fbb",
"reference": "c71d61c6c37804e10981960e5f5ebc2c8f0a4fbb",
"url": "https://api.github.com/repos/symfony/serializer/zipball/74817ee48e37cce1a1b33c66ffdb750e7e048c3c",
"reference": "74817ee48e37cce1a1b33c66ffdb750e7e048c3c",
"shasum": ""
},
"require": {
"php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "~1.8"
},
"conflict": {
@ -7872,6 +7947,7 @@
"symfony/property-access": "^6.4|^7.0",
"symfony/property-info": "^6.4|^7.0",
"symfony/translation-contracts": "^2.5|^3",
"symfony/type-info": "^7.1",
"symfony/uid": "^6.4|^7.0",
"symfony/validator": "^6.4|^7.0",
"symfony/var-dumper": "^6.4|^7.0",
@ -7904,7 +7980,7 @@
"description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/serializer/tree/v7.0.4"
"source": "https://github.com/symfony/serializer/tree/v7.1.1"
},
"funding": [
{
@ -7920,7 +7996,7 @@
"type": "tidelift"
}
],
"time": "2024-02-22T20:27:20+00:00"
"time": "2024-05-31T14:57:53+00:00"
},
{
"name": "symfony/service-contracts",
@ -8007,16 +8083,16 @@
},
{
"name": "symfony/string",
"version": "v7.1.1",
"version": "v7.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "60bc311c74e0af215101235aa6f471bcbc032df2"
"reference": "14221089ac66cf82e3cf3d1c1da65de305587ff8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/60bc311c74e0af215101235aa6f471bcbc032df2",
"reference": "60bc311c74e0af215101235aa6f471bcbc032df2",
"url": "https://api.github.com/repos/symfony/string/zipball/14221089ac66cf82e3cf3d1c1da65de305587ff8",
"reference": "14221089ac66cf82e3cf3d1c1da65de305587ff8",
"shasum": ""
},
"require": {
@ -8074,7 +8150,7 @@
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v7.1.1"
"source": "https://github.com/symfony/string/tree/v7.1.2"
},
"funding": [
{
@ -8090,7 +8166,7 @@
"type": "tidelift"
}
],
"time": "2024-06-04T06:40:14+00:00"
"time": "2024-06-28T09:27:18+00:00"
},
{
"name": "symfony/translation",
@ -8264,6 +8340,88 @@
],
"time": "2024-04-18T09:32:20+00:00"
},
{
"name": "symfony/type-info",
"version": "v7.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/type-info.git",
"reference": "60b28eb733f1453287f1263ed305b96091e0d1dc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/type-info/zipball/60b28eb733f1453287f1263ed305b96091e0d1dc",
"reference": "60b28eb733f1453287f1263ed305b96091e0d1dc",
"shasum": ""
},
"require": {
"php": ">=8.2",
"psr/container": "^1.1|^2.0"
},
"conflict": {
"phpstan/phpdoc-parser": "<1.0",
"symfony/dependency-injection": "<6.4",
"symfony/property-info": "<6.4"
},
"require-dev": {
"phpstan/phpdoc-parser": "^1.0",
"symfony/dependency-injection": "^6.4|^7.0",
"symfony/property-info": "^6.4|^7.0"
},
"type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\TypeInfo\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Mathias Arlaud",
"email": "mathias.arlaud@gmail.com"
},
{
"name": "Baptiste LEDUC",
"email": "baptiste.leduc@gmail.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Extracts PHP types information.",
"homepage": "https://symfony.com",
"keywords": [
"PHPStan",
"phpdoc",
"symfony",
"type"
],
"support": {
"source": "https://github.com/symfony/type-info/tree/v7.1.1"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2024-05-31T14:59:31+00:00"
},
{
"name": "symfony/uid",
"version": "v7.1.1",
@ -8340,16 +8498,16 @@
},
{
"name": "symfony/var-dumper",
"version": "v7.1.1",
"version": "v7.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
"reference": "deb2c2b506ff6fdbb340e00b34e9901e1605f293"
"reference": "5857c57c6b4b86524c08cf4f4bc95327270a816d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/deb2c2b506ff6fdbb340e00b34e9901e1605f293",
"reference": "deb2c2b506ff6fdbb340e00b34e9901e1605f293",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/5857c57c6b4b86524c08cf4f4bc95327270a816d",
"reference": "5857c57c6b4b86524c08cf4f4bc95327270a816d",
"shasum": ""
},
"require": {
@ -8403,7 +8561,7 @@
"dump"
],
"support": {
"source": "https://github.com/symfony/var-dumper/tree/v7.1.1"
"source": "https://github.com/symfony/var-dumper/tree/v7.1.2"
},
"funding": [
{
@ -8419,7 +8577,7 @@
"type": "tidelift"
}
],
"time": "2024-05-31T14:57:53+00:00"
"time": "2024-06-28T08:00:31+00:00"
},
{
"name": "tijsverkoyen/css-to-inline-styles",
@ -10571,21 +10729,21 @@
},
{
"name": "openai-php/client",
"version": "v0.8.4",
"version": "v0.10.1",
"source": {
"type": "git",
"url": "https://github.com/openai-php/client.git",
"reference": "00470f5fedd7b08ee4860959d6952f0be0ec48a0"
"reference": "8b63d27a2f009a7ce4714fda77769e93d883c8da"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/openai-php/client/zipball/00470f5fedd7b08ee4860959d6952f0be0ec48a0",
"reference": "00470f5fedd7b08ee4860959d6952f0be0ec48a0",
"url": "https://api.github.com/repos/openai-php/client/zipball/8b63d27a2f009a7ce4714fda77769e93d883c8da",
"reference": "8b63d27a2f009a7ce4714fda77769e93d883c8da",
"shasum": ""
},
"require": {
"php": "^8.1.0",
"php-http/discovery": "^1.19.2",
"php-http/discovery": "^1.19.4",
"php-http/multipart-stream-builder": "^1.3.0",
"psr/http-client": "^1.0.3",
"psr/http-client-implementation": "^1.0.1",
@ -10595,15 +10753,15 @@
"require-dev": {
"guzzlehttp/guzzle": "^7.8.1",
"guzzlehttp/psr7": "^2.6.2",
"laravel/pint": "^1.13.7",
"mockery/mockery": "^1.6.7",
"laravel/pint": "^1.16.0",
"mockery/mockery": "^1.6.12",
"nunomaduro/collision": "^7.10.0",
"pestphp/pest": "^2.30.0",
"pestphp/pest-plugin-arch": "^2.6",
"pestphp/pest-plugin-type-coverage": "^2.7.0",
"phpstan/phpstan": "^1.10.55",
"rector/rector": "^0.16.0",
"symfony/var-dumper": "^6.4.2"
"pestphp/pest": "^2.34.7",
"pestphp/pest-plugin-arch": "^2.7",
"pestphp/pest-plugin-type-coverage": "^2.8.2",
"phpstan/phpstan": "^1.11.2",
"rector/rector": "^1.1.0",
"symfony/var-dumper": "^6.4.7"
},
"type": "library",
"autoload": {
@ -10643,7 +10801,7 @@
],
"support": {
"issues": "https://github.com/openai-php/client/issues",
"source": "https://github.com/openai-php/client/tree/v0.8.4"
"source": "https://github.com/openai-php/client/tree/v0.10.1"
},
"funding": [
{
@ -10659,7 +10817,7 @@
"type": "github"
}
],
"time": "2024-02-07T07:57:38+00:00"
"time": "2024-06-06T20:27:51+00:00"
},
{
"name": "orchestra/testbench-core",
@ -10870,16 +11028,16 @@
},
{
"name": "php-http/discovery",
"version": "1.19.2",
"version": "1.19.4",
"source": {
"type": "git",
"url": "https://github.com/php-http/discovery.git",
"reference": "61e1a1eb69c92741f5896d9e05fb8e9d7e8bb0cb"
"reference": "0700efda8d7526335132360167315fdab3aeb599"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-http/discovery/zipball/61e1a1eb69c92741f5896d9e05fb8e9d7e8bb0cb",
"reference": "61e1a1eb69c92741f5896d9e05fb8e9d7e8bb0cb",
"url": "https://api.github.com/repos/php-http/discovery/zipball/0700efda8d7526335132360167315fdab3aeb599",
"reference": "0700efda8d7526335132360167315fdab3aeb599",
"shasum": ""
},
"require": {
@ -10903,7 +11061,8 @@
"php-http/httplug": "^1.0 || ^2.0",
"php-http/message-factory": "^1.0",
"phpspec/phpspec": "^5.1 || ^6.1 || ^7.3",
"symfony/phpunit-bridge": "^6.2"
"sebastian/comparator": "^3.0.5 || ^4.0.8",
"symfony/phpunit-bridge": "^6.4.4 || ^7.0.1"
},
"type": "composer-plugin",
"extra": {
@ -10942,22 +11101,22 @@
],
"support": {
"issues": "https://github.com/php-http/discovery/issues",
"source": "https://github.com/php-http/discovery/tree/1.19.2"
"source": "https://github.com/php-http/discovery/tree/1.19.4"
},
"time": "2023-11-30T16:49:05+00:00"
"time": "2024-03-29T13:00:05+00:00"
},
{
"name": "php-http/multipart-stream-builder",
"version": "1.3.0",
"version": "1.3.1",
"source": {
"type": "git",
"url": "https://github.com/php-http/multipart-stream-builder.git",
"reference": "f5938fd135d9fa442cc297dc98481805acfe2b6a"
"reference": "ed56da23b95949ae4747378bed8a5b61a2fdae24"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-http/multipart-stream-builder/zipball/f5938fd135d9fa442cc297dc98481805acfe2b6a",
"reference": "f5938fd135d9fa442cc297dc98481805acfe2b6a",
"url": "https://api.github.com/repos/php-http/multipart-stream-builder/zipball/ed56da23b95949ae4747378bed8a5b61a2fdae24",
"reference": "ed56da23b95949ae4747378bed8a5b61a2fdae24",
"shasum": ""
},
"require": {
@ -10998,9 +11157,9 @@
],
"support": {
"issues": "https://github.com/php-http/multipart-stream-builder/issues",
"source": "https://github.com/php-http/multipart-stream-builder/tree/1.3.0"
"source": "https://github.com/php-http/multipart-stream-builder/tree/1.3.1"
},
"time": "2023-04-28T14:10:22+00:00"
"time": "2024-06-10T14:51:55+00:00"
},
{
"name": "php-webdriver/webdriver",

108
package-lock.json generated
View file

@ -14,7 +14,7 @@
},
"devDependencies": {
"@eslint/js": "^9.4.0",
"@stylistic/eslint-plugin": "^2.2.2",
"@stylistic/eslint-plugin": "^2.3.0",
"eslint": "^9.5.0",
"globals": "^15.6.0",
"stylelint": "^16.6.1",
@ -466,15 +466,15 @@
}
},
"node_modules/@stylistic/eslint-plugin": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-2.2.2.tgz",
"integrity": "sha512-GNRtyhhPsc9I9FNTaU2L0V/4LdSPAciQNEdYo6NBRdAz7sdiaxgEJKLNSXeXSQAuO9JBWWjZBs/57+WvrU0Iug==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-2.3.0.tgz",
"integrity": "sha512-rtiz6u5gRyyEZp36FcF1/gHJbsbT3qAgXZ1qkad6Nr/xJ9wrSJkiSFFQhpYVTIZ7FJNRJurEcumZDCwN9dEI4g==",
"dev": true,
"dependencies": {
"@stylistic/eslint-plugin-js": "2.2.2",
"@stylistic/eslint-plugin-jsx": "2.2.2",
"@stylistic/eslint-plugin-plus": "2.2.2",
"@stylistic/eslint-plugin-ts": "2.2.2",
"@stylistic/eslint-plugin-js": "2.3.0",
"@stylistic/eslint-plugin-jsx": "2.3.0",
"@stylistic/eslint-plugin-plus": "2.3.0",
"@stylistic/eslint-plugin-ts": "2.3.0",
"@types/eslint": "^8.56.10"
},
"engines": {
@ -485,9 +485,9 @@
}
},
"node_modules/@stylistic/eslint-plugin-js": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-js/-/eslint-plugin-js-2.2.2.tgz",
"integrity": "sha512-Vj2Q1YHVvJw+ThtOvmk5Yx7wZanVrIBRUTT89horLDb4xdP9GA1um9XOYQC6j67VeUC2gjZQnz5/RVJMzaOhtw==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-js/-/eslint-plugin-js-2.3.0.tgz",
"integrity": "sha512-lQwoiYb0Fs6Yc5QS3uT8+T9CPKK2Eoxc3H8EnYJgM26v/DgtW+1lvy2WNgyBflU+ThShZaHm3a6CdD9QeKx23w==",
"dev": true,
"dependencies": {
"@types/eslint": "^8.56.10",
@ -515,12 +515,12 @@
}
},
"node_modules/@stylistic/eslint-plugin-jsx": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-jsx/-/eslint-plugin-jsx-2.2.2.tgz",
"integrity": "sha512-xfIMdLivoMV1wV+5Tl0PtkLN/oUwjIt7LuIu48vhrZfJ2jCXwjlTGPGSoM7dnLZYD65XjtrHHIFAvPuvvvjlaw==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-jsx/-/eslint-plugin-jsx-2.3.0.tgz",
"integrity": "sha512-tsQ0IEKB195H6X9A4iUSgLLLKBc8gUBWkBIU8tp1/3g2l8stu+PtMQVV/VmK1+3bem5FJCyvfcZIQ/WF1fsizA==",
"dev": true,
"dependencies": {
"@stylistic/eslint-plugin-js": "^2.2.2",
"@stylistic/eslint-plugin-js": "^2.3.0",
"@types/eslint": "^8.56.10",
"estraverse": "^5.3.0",
"picomatch": "^4.0.2"
@ -545,9 +545,9 @@
}
},
"node_modules/@stylistic/eslint-plugin-plus": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-plus/-/eslint-plugin-plus-2.2.2.tgz",
"integrity": "sha512-oeqPs01yAH4ad4bSchGtx8Jf5XTbxRx++A0joNYiOoq3EBTAUHE/ZB7dVv3BhNuCKiwojOQduLkUCXI5UMHoSw==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-plus/-/eslint-plugin-plus-2.3.0.tgz",
"integrity": "sha512-xboPWGUU5yaPlR+WR57GwXEuY4PSlPqA0C3IdNA/+1o2MuBi95XgDJcZiJ9N+aXsqBXAPIpFFb+WQ7QEHo4f7g==",
"dev": true,
"dependencies": {
"@types/eslint": "^8.56.10",
@ -558,15 +558,15 @@
}
},
"node_modules/@stylistic/eslint-plugin-plus/node_modules/@typescript-eslint/utils": {
"version": "7.13.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.13.1.tgz",
"integrity": "sha512-h5MzFBD5a/Gh/fvNdp9pTfqJAbuQC4sCN2WzuXme71lqFJsZtLbjxfSk4r3p02WIArOF9N94pdsLiGutpDbrXQ==",
"version": "7.14.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.14.1.tgz",
"integrity": "sha512-CMmVVELns3nak3cpJhZosDkm63n+DwBlDX8g0k4QUa9BMnF+lH2lr3d130M1Zt1xxmB3LLk3NV7KQCq86ZBBhQ==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
"@typescript-eslint/scope-manager": "7.13.1",
"@typescript-eslint/types": "7.13.1",
"@typescript-eslint/typescript-estree": "7.13.1"
"@typescript-eslint/scope-manager": "7.14.1",
"@typescript-eslint/types": "7.14.1",
"@typescript-eslint/typescript-estree": "7.14.1"
},
"engines": {
"node": "^18.18.0 || >=20.0.0"
@ -580,12 +580,12 @@
}
},
"node_modules/@stylistic/eslint-plugin-ts": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-ts/-/eslint-plugin-ts-2.2.2.tgz",
"integrity": "sha512-n6cYMSWTDDcrQLLxEKIrL/ihQ1lyyq6+gGp0g5VdstBElmImSRsQkCq+g3jRoDJIUo7tGO9lwQtGnuJ7oGB4kg==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-ts/-/eslint-plugin-ts-2.3.0.tgz",
"integrity": "sha512-wqOR38/uz/0XPnHX68ftp8sNMSAqnYGjovOTN7w00xnjS6Lxr3Sk7q6AaxWWqbMvOj7V2fQiMC5HWAbTruJsCg==",
"dev": true,
"dependencies": {
"@stylistic/eslint-plugin-js": "2.2.2",
"@stylistic/eslint-plugin-js": "2.3.0",
"@types/eslint": "^8.56.10",
"@typescript-eslint/utils": "^7.12.0"
},
@ -597,15 +597,15 @@
}
},
"node_modules/@stylistic/eslint-plugin-ts/node_modules/@typescript-eslint/utils": {
"version": "7.13.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.13.1.tgz",
"integrity": "sha512-h5MzFBD5a/Gh/fvNdp9pTfqJAbuQC4sCN2WzuXme71lqFJsZtLbjxfSk4r3p02WIArOF9N94pdsLiGutpDbrXQ==",
"version": "7.14.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.14.1.tgz",
"integrity": "sha512-CMmVVELns3nak3cpJhZosDkm63n+DwBlDX8g0k4QUa9BMnF+lH2lr3d130M1Zt1xxmB3LLk3NV7KQCq86ZBBhQ==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
"@typescript-eslint/scope-manager": "7.13.1",
"@typescript-eslint/types": "7.13.1",
"@typescript-eslint/typescript-estree": "7.13.1"
"@typescript-eslint/scope-manager": "7.14.1",
"@typescript-eslint/types": "7.14.1",
"@typescript-eslint/typescript-estree": "7.14.1"
},
"engines": {
"node": "^18.18.0 || >=20.0.0"
@ -641,13 +641,13 @@
"dev": true
},
"node_modules/@typescript-eslint/scope-manager": {
"version": "7.13.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.13.1.tgz",
"integrity": "sha512-adbXNVEs6GmbzaCpymHQ0MB6E4TqoiVbC0iqG3uijR8ZYfpAXMGttouQzF4Oat3P2GxDVIrg7bMI/P65LiQZdg==",
"version": "7.14.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.14.1.tgz",
"integrity": "sha512-gPrFSsoYcsffYXTOZ+hT7fyJr95rdVe4kGVX1ps/dJ+DfmlnjFN/GcMxXcVkeHDKqsq6uAcVaQaIi3cFffmAbA==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "7.13.1",
"@typescript-eslint/visitor-keys": "7.13.1"
"@typescript-eslint/types": "7.14.1",
"@typescript-eslint/visitor-keys": "7.14.1"
},
"engines": {
"node": "^18.18.0 || >=20.0.0"
@ -658,9 +658,9 @@
}
},
"node_modules/@typescript-eslint/types": {
"version": "7.13.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.13.1.tgz",
"integrity": "sha512-7K7HMcSQIAND6RBL4kDl24sG/xKM13cA85dc7JnmQXw2cBDngg7c19B++JzvJHRG3zG36n9j1i451GBzRuHchw==",
"version": "7.14.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.14.1.tgz",
"integrity": "sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg==",
"dev": true,
"engines": {
"node": "^18.18.0 || >=20.0.0"
@ -671,13 +671,13 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
"version": "7.13.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.13.1.tgz",
"integrity": "sha512-uxNr51CMV7npU1BxZzYjoVz9iyjckBduFBP0S5sLlh1tXYzHzgZ3BR9SVsNed+LmwKrmnqN3Kdl5t7eZ5TS1Yw==",
"version": "7.14.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.14.1.tgz",
"integrity": "sha512-k5d0VuxViE2ulIO6FbxxSZaxqDVUyMbXcidC8rHvii0I56XZPv8cq+EhMns+d/EVIL41sMXqRbK3D10Oza1bbA==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "7.13.1",
"@typescript-eslint/visitor-keys": "7.13.1",
"@typescript-eslint/types": "7.14.1",
"@typescript-eslint/visitor-keys": "7.14.1",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
@ -708,9 +708,9 @@
}
},
"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
"version": "9.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
"integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
"version": "9.0.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"dev": true,
"dependencies": {
"brace-expansion": "^2.0.1"
@ -723,12 +723,12 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
"version": "7.13.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.13.1.tgz",
"integrity": "sha512-k/Bfne7lrP7hcb7m9zSsgcBmo+8eicqqfNAJ7uUY+jkTFpKeH2FSkWpFRtimBxgkyvqfu9jTPRbYOvud6isdXA==",
"version": "7.14.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.14.1.tgz",
"integrity": "sha512-Crb+F75U1JAEtBeQGxSKwI60hZmmzaqA3z9sYsVm8X7W5cwLEm5bRe0/uXS6+MR/y8CVpKSR/ontIAIEPFcEkA==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "7.13.1",
"@typescript-eslint/types": "7.14.1",
"eslint-visitor-keys": "^3.4.3"
},
"engines": {

View file

@ -7,7 +7,7 @@
"license": "CC0-1.0",
"devDependencies": {
"@eslint/js": "^9.4.0",
"@stylistic/eslint-plugin": "^2.2.2",
"@stylistic/eslint-plugin": "^2.3.0",
"eslint": "^9.5.0",
"globals": "^15.6.0",
"stylelint": "^16.6.1",

View file

@ -45,7 +45,7 @@ class IndieAuthTest extends TestCase
'client_id' => 'https://app.example.com',
'redirect_uri' => 'https://app.example.com/callback',
'state' => '123456',
'scopes' => 'create update delete',
'scope' => 'create update delete',
'code_challenge' => '123456',
'code_challenge_method' => 'S256',
]);
@ -68,7 +68,7 @@ class IndieAuthTest extends TestCase
'client_id' => 'https://app.example.com',
'redirect_uri' => 'https://app.example.com/callback',
'state' => '123456',
'scopes' => 'create update delete',
'scope' => 'create update delete',
'code_challenge' => '123456',
'code_challenge_method' => 'S256',
]);
@ -89,7 +89,7 @@ class IndieAuthTest extends TestCase
'client_id' => 'https://app.example.com',
'redirect_uri' => 'https://app.example.com/callback',
'state' => '123456',
'scopes' => 'create update delete',
'scope' => 'create update delete',
'code_challenge' => '123456',
'code_challenge_method' => 'S256',
]);
@ -110,7 +110,7 @@ class IndieAuthTest extends TestCase
'client_id' => 'https://app.example.com',
'redirect_uri' => 'https://app.example.com/callback',
'state' => '123456',
'scopes' => 'create update delete',
'scope' => 'create update delete',
'code_challenge' => '123456',
'code_challenge_method' => 'S256',
]);
@ -131,7 +131,7 @@ class IndieAuthTest extends TestCase
'me' => 'https://example.com',
'redirect_uri' => 'https://app.example.com/callback',
'state' => '123456',
'scopes' => 'create update delete',
'scope' => 'create update delete',
'code_challenge' => '123456',
'code_challenge_method' => 'S256',
]);
@ -152,7 +152,7 @@ class IndieAuthTest extends TestCase
'me' => 'https://example.com',
'client_id' => 'https://app.example.com',
'state' => '123456',
'scopes' => 'create update delete',
'scope' => 'create update delete',
'code_challenge' => '123456',
'code_challenge_method' => 'S256',
]);
@ -173,7 +173,7 @@ class IndieAuthTest extends TestCase
'me' => 'https://example.com',
'client_id' => 'https://app.example.com',
'redirect_uri' => 'https://app.example.com/callback',
'scopes' => 'create update delete',
'scope' => 'create update delete',
'code_challenge' => '123456',
'code_challenge_method' => 'S256',
]);
@ -195,7 +195,7 @@ class IndieAuthTest extends TestCase
'client_id' => 'https://app.example.com',
'redirect_uri' => 'https://app.example.com/callback',
'state' => '123456',
'scopes' => 'create update delete',
'scope' => 'create update delete',
'code_challenge_method' => 'S256',
]);
@ -216,7 +216,7 @@ class IndieAuthTest extends TestCase
'client_id' => 'https://app.example.com',
'redirect_uri' => 'https://app.example.com/callback',
'state' => '123456',
'scopes' => 'create update delete',
'scope' => 'create update delete',
'code_challenge' => '123456',
]);
@ -237,7 +237,7 @@ class IndieAuthTest extends TestCase
'client_id' => 'https://app.example.com',
'redirect_uri' => 'https://app.example.com/callback',
'state' => '123456',
'scopes' => 'create update delete',
'scope' => 'create update delete',
'code_challenge' => '123456',
'code_challenge_method' => 'invalid_value',
]);
@ -283,7 +283,7 @@ class IndieAuthTest extends TestCase
'client_id' => 'https://app.example.com',
'redirect_uri' => 'example-app://callback',
'state' => '123456',
'scopes' => 'create update delete',
'scope' => 'create update delete',
'code_challenge' => '123456',
'code_challenge_method' => 'S256',
]);
@ -327,7 +327,7 @@ class IndieAuthTest extends TestCase
'client_id' => 'https://app.example.com',
'redirect_uri' => 'example-app://callback',
'state' => '123456',
'scopes' => 'create update delete',
'scope' => 'create update delete',
'code_challenge' => '123456',
'code_challenge_method' => 'S256',
]);
@ -611,7 +611,7 @@ class IndieAuthTest extends TestCase
hash('sha256', 'abc123def', true),
SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING
),
'scopes' => '',
'scope' => '',
'client_id' => 'https://app.example.com',
'redirect_uri' => 'example-app://callback',
]);
@ -646,7 +646,7 @@ class IndieAuthTest extends TestCase
hash('sha256', 'abc123def', true),
SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING
),
'scopes' => 'create update',
'scope' => 'create update',
'client_id' => 'https://app.example.invalid',
'redirect_uri' => 'example-app://callback',
]);
@ -681,7 +681,7 @@ class IndieAuthTest extends TestCase
hash('sha256', 'abc123def', true),
SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING
),
'scopes' => 'create update',
'scope' => 'create update',
'client_id' => 'https://app.example.com',
'redirect_uri' => 'example-app://callback',
]);