From 8dc6d74ee8410f8bec3ff62252088fdd8fe4b724 Mon Sep 17 00:00:00 2001 From: Vincent Auger Date: Fri, 3 Jan 2025 12:52:08 -0400 Subject: [PATCH 1/3] chore: bump deps --- composer.lock | 193 ++++++++++++++++++++++++------------------------- package.json | 8 +- pnpm-lock.yaml | 145 ++++++++++++++++++++----------------- 3 files changed, 177 insertions(+), 169 deletions(-) diff --git a/composer.lock b/composer.lock index 17cbbdda..ed11d554 100644 --- a/composer.lock +++ b/composer.lock @@ -936,16 +936,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.336.6", + "version": "3.336.7", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "0a99dab427f0a1c082775301141aeac3558691ad" + "reference": "3ebc383239f93d6f1e74573112c9d179070d2620" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/0a99dab427f0a1c082775301141aeac3558691ad", - "reference": "0a99dab427f0a1c082775301141aeac3558691ad", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/3ebc383239f93d6f1e74573112c9d179070d2620", + "reference": "3ebc383239f93d6f1e74573112c9d179070d2620", "shasum": "" }, "require": { @@ -1028,9 +1028,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.336.6" + "source": "https://github.com/aws/aws-sdk-php/tree/3.336.7" }, - "time": "2024-12-28T04:16:13+00:00" + "time": "2025-01-02T19:07:47+00:00" }, { "name": "blade-ui-kit/blade-heroicons", @@ -1585,16 +1585,16 @@ }, { "name": "danharrin/livewire-rate-limiting", - "version": "v1.3.1", + "version": "v2.0.0", "source": { "type": "git", "url": "https://github.com/danharrin/livewire-rate-limiting.git", - "reference": "1a1b299e20de61f88ed6e94ea0bbcfc33aab1ddb" + "reference": "0d9c1890174b3d1857dba6ce76de7c178fe20283" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/danharrin/livewire-rate-limiting/zipball/1a1b299e20de61f88ed6e94ea0bbcfc33aab1ddb", - "reference": "1a1b299e20de61f88ed6e94ea0bbcfc33aab1ddb", + "url": "https://api.github.com/repos/danharrin/livewire-rate-limiting/zipball/0d9c1890174b3d1857dba6ce76de7c178fe20283", + "reference": "0d9c1890174b3d1857dba6ce76de7c178fe20283", "shasum": "" }, "require": { @@ -1635,7 +1635,7 @@ "type": "github" } ], - "time": "2024-05-06T09:10:03+00:00" + "time": "2024-11-24T16:57:47+00:00" }, { "name": "daverandom/libdns", @@ -2267,16 +2267,16 @@ }, { "name": "filament/actions", - "version": "v3.2.131", + "version": "v3.2.132", "source": { "type": "git", "url": "https://github.com/filamentphp/actions.git", - "reference": "8d9ceaf392eeff55fd335f5169d14f84af8c325e" + "reference": "887b9e5552658a37098e7a279196a4d188d94f50" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/actions/zipball/8d9ceaf392eeff55fd335f5169d14f84af8c325e", - "reference": "8d9ceaf392eeff55fd335f5169d14f84af8c325e", + "url": "https://api.github.com/repos/filamentphp/actions/zipball/887b9e5552658a37098e7a279196a4d188d94f50", + "reference": "887b9e5552658a37098e7a279196a4d188d94f50", "shasum": "" }, "require": { @@ -2316,24 +2316,24 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-12-17T13:03:16+00:00" + "time": "2024-12-31T13:16:04+00:00" }, { "name": "filament/filament", - "version": "v3.2.131", + "version": "v3.2.132", "source": { "type": "git", "url": "https://github.com/filamentphp/panels.git", - "reference": "21febddcc6720b250b41386805a8dbd1deef2c56" + "reference": "54fcc0b883cc6622d1d9322d28c823ba6172f9ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/panels/zipball/21febddcc6720b250b41386805a8dbd1deef2c56", - "reference": "21febddcc6720b250b41386805a8dbd1deef2c56", + "url": "https://api.github.com/repos/filamentphp/panels/zipball/54fcc0b883cc6622d1d9322d28c823ba6172f9ef", + "reference": "54fcc0b883cc6622d1d9322d28c823ba6172f9ef", "shasum": "" }, "require": { - "danharrin/livewire-rate-limiting": "^0.3|^1.0", + "danharrin/livewire-rate-limiting": "^0.3|^1.0|^2.0", "filament/actions": "self.version", "filament/forms": "self.version", "filament/infolists": "self.version", @@ -2381,20 +2381,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-12-17T13:03:11+00:00" + "time": "2024-12-31T13:16:24+00:00" }, { "name": "filament/forms", - "version": "v3.2.131", + "version": "v3.2.132", "source": { "type": "git", "url": "https://github.com/filamentphp/forms.git", - "reference": "72429b0df9c3d123273dd51ba62b764e2114697c" + "reference": "4abbf867f060483699f3cb8e1c1c8f4469b7980f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/forms/zipball/72429b0df9c3d123273dd51ba62b764e2114697c", - "reference": "72429b0df9c3d123273dd51ba62b764e2114697c", + "url": "https://api.github.com/repos/filamentphp/forms/zipball/4abbf867f060483699f3cb8e1c1c8f4469b7980f", + "reference": "4abbf867f060483699f3cb8e1c1c8f4469b7980f", "shasum": "" }, "require": { @@ -2437,20 +2437,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-12-17T13:03:11+00:00" + "time": "2024-12-31T13:16:06+00:00" }, { "name": "filament/infolists", - "version": "v3.2.131", + "version": "v3.2.132", "source": { "type": "git", "url": "https://github.com/filamentphp/infolists.git", - "reference": "15c200a3172b88a6247ff4b7230f69982d848194" + "reference": "8c0344fc603085da8f385ed6a022aacbe3aa49fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/infolists/zipball/15c200a3172b88a6247ff4b7230f69982d848194", - "reference": "15c200a3172b88a6247ff4b7230f69982d848194", + "url": "https://api.github.com/repos/filamentphp/infolists/zipball/8c0344fc603085da8f385ed6a022aacbe3aa49fb", + "reference": "8c0344fc603085da8f385ed6a022aacbe3aa49fb", "shasum": "" }, "require": { @@ -2488,11 +2488,11 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-12-17T13:03:14+00:00" + "time": "2024-12-31T13:16:16+00:00" }, { "name": "filament/notifications", - "version": "v3.2.131", + "version": "v3.2.132", "source": { "type": "git", "url": "https://github.com/filamentphp/notifications.git", @@ -2544,16 +2544,16 @@ }, { "name": "filament/support", - "version": "v3.2.131", + "version": "v3.2.132", "source": { "type": "git", "url": "https://github.com/filamentphp/support.git", - "reference": "ddc16d8da50d73f7300671b70c9dcb942d845d9d" + "reference": "0bd91d5b937b0ae50394a976ba5fed9506581943" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/support/zipball/ddc16d8da50d73f7300671b70c9dcb942d845d9d", - "reference": "ddc16d8da50d73f7300671b70c9dcb942d845d9d", + "url": "https://api.github.com/repos/filamentphp/support/zipball/0bd91d5b937b0ae50394a976ba5fed9506581943", + "reference": "0bd91d5b937b0ae50394a976ba5fed9506581943", "shasum": "" }, "require": { @@ -2599,20 +2599,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-12-17T13:03:15+00:00" + "time": "2024-12-31T13:16:28+00:00" }, { "name": "filament/tables", - "version": "v3.2.131", + "version": "v3.2.132", "source": { "type": "git", "url": "https://github.com/filamentphp/tables.git", - "reference": "224aea12a4a4cfcd158b53df94cdd190f8226cac" + "reference": "e34f63f89ef672f8e810c2e181665d718e84ff37" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/tables/zipball/224aea12a4a4cfcd158b53df94cdd190f8226cac", - "reference": "224aea12a4a4cfcd158b53df94cdd190f8226cac", + "url": "https://api.github.com/repos/filamentphp/tables/zipball/e34f63f89ef672f8e810c2e181665d718e84ff37", + "reference": "e34f63f89ef672f8e810c2e181665d718e84ff37", "shasum": "" }, "require": { @@ -2651,11 +2651,11 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-12-17T13:03:09+00:00" + "time": "2024-12-31T13:16:31+00:00" }, { "name": "filament/widgets", - "version": "v3.2.131", + "version": "v3.2.132", "source": { "type": "git", "url": "https://github.com/filamentphp/widgets.git", @@ -3423,16 +3423,16 @@ }, { "name": "laravel/framework", - "version": "v11.36.1", + "version": "v11.37.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "df06f5163f4550641fdf349ebc04916a61135a64" + "reference": "6cb103d2024b087eae207654b3f4b26646119ba5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/df06f5163f4550641fdf349ebc04916a61135a64", - "reference": "df06f5163f4550641fdf349ebc04916a61135a64", + "url": "https://api.github.com/repos/laravel/framework/zipball/6cb103d2024b087eae207654b3f4b26646119ba5", + "reference": "6cb103d2024b087eae207654b3f4b26646119ba5", "shasum": "" }, "require": { @@ -3482,7 +3482,6 @@ "voku/portable-ascii": "^2.0.2" }, "conflict": { - "mockery/mockery": "1.6.8", "tightenco/collect": "<5.5.33" }, "provide": { @@ -3634,7 +3633,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-12-17T22:32:08+00:00" + "time": "2025-01-02T20:10:21+00:00" }, { "name": "laravel/horizon", @@ -10195,16 +10194,16 @@ }, { "name": "symfony/finder", - "version": "v7.2.0", + "version": "v7.2.2", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "6de263e5868b9a137602dd1e33e4d48bfae99c49" + "reference": "87a71856f2f56e4100373e92529eed3171695cfb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/6de263e5868b9a137602dd1e33e4d48bfae99c49", - "reference": "6de263e5868b9a137602dd1e33e4d48bfae99c49", + "url": "https://api.github.com/repos/symfony/finder/zipball/87a71856f2f56e4100373e92529eed3171695cfb", + "reference": "87a71856f2f56e4100373e92529eed3171695cfb", "shasum": "" }, "require": { @@ -10239,7 +10238,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.2.0" + "source": "https://github.com/symfony/finder/tree/v7.2.2" }, "funding": [ { @@ -10255,20 +10254,20 @@ "type": "tidelift" } ], - "time": "2024-10-23T06:56:12+00:00" + "time": "2024-12-30T19:00:17+00:00" }, { "name": "symfony/html-sanitizer", - "version": "v7.2.0", + "version": "v7.2.2", "source": { "type": "git", "url": "https://github.com/symfony/html-sanitizer.git", - "reference": "1d23de45af5e8508441ff5f82bb493e83cdcbba4" + "reference": "f6bc679b024e30f27e33815930a5b8b304c79813" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/html-sanitizer/zipball/1d23de45af5e8508441ff5f82bb493e83cdcbba4", - "reference": "1d23de45af5e8508441ff5f82bb493e83cdcbba4", + "url": "https://api.github.com/repos/symfony/html-sanitizer/zipball/f6bc679b024e30f27e33815930a5b8b304c79813", + "reference": "f6bc679b024e30f27e33815930a5b8b304c79813", "shasum": "" }, "require": { @@ -10308,7 +10307,7 @@ "sanitizer" ], "support": { - "source": "https://github.com/symfony/html-sanitizer/tree/v7.2.0" + "source": "https://github.com/symfony/html-sanitizer/tree/v7.2.2" }, "funding": [ { @@ -10324,20 +10323,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2024-12-30T18:35:15+00:00" }, { "name": "symfony/http-client", - "version": "v7.2.1", + "version": "v7.2.2", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "ff4df2b68d1c67abb9fef146e6540ea16b58d99e" + "reference": "339ba21476eb184290361542f732ad12c97591ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/ff4df2b68d1c67abb9fef146e6540ea16b58d99e", - "reference": "ff4df2b68d1c67abb9fef146e6540ea16b58d99e", + "url": "https://api.github.com/repos/symfony/http-client/zipball/339ba21476eb184290361542f732ad12c97591ec", + "reference": "339ba21476eb184290361542f732ad12c97591ec", "shasum": "" }, "require": { @@ -10403,7 +10402,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v7.2.1" + "source": "https://github.com/symfony/http-client/tree/v7.2.2" }, "funding": [ { @@ -10419,7 +10418,7 @@ "type": "tidelift" } ], - "time": "2024-12-07T08:50:44+00:00" + "time": "2024-12-30T18:35:15+00:00" }, { "name": "symfony/http-client-contracts", @@ -10501,16 +10500,16 @@ }, { "name": "symfony/http-foundation", - "version": "v7.2.0", + "version": "v7.2.2", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "e88a66c3997859532bc2ddd6dd8f35aba2711744" + "reference": "62d1a43796ca3fea3f83a8470dfe63a4af3bc588" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/e88a66c3997859532bc2ddd6dd8f35aba2711744", - "reference": "e88a66c3997859532bc2ddd6dd8f35aba2711744", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/62d1a43796ca3fea3f83a8470dfe63a4af3bc588", + "reference": "62d1a43796ca3fea3f83a8470dfe63a4af3bc588", "shasum": "" }, "require": { @@ -10559,7 +10558,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.2.0" + "source": "https://github.com/symfony/http-foundation/tree/v7.2.2" }, "funding": [ { @@ -10575,20 +10574,20 @@ "type": "tidelift" } ], - "time": "2024-11-13T18:58:46+00:00" + "time": "2024-12-30T19:00:17+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.2.1", + "version": "v7.2.2", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "d8ae58eecae44c8e66833e76cc50a4ad3c002d97" + "reference": "3c432966bd8c7ec7429663105f5a02d7e75b4306" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d8ae58eecae44c8e66833e76cc50a4ad3c002d97", - "reference": "d8ae58eecae44c8e66833e76cc50a4ad3c002d97", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/3c432966bd8c7ec7429663105f5a02d7e75b4306", + "reference": "3c432966bd8c7ec7429663105f5a02d7e75b4306", "shasum": "" }, "require": { @@ -10673,7 +10672,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.2.1" + "source": "https://github.com/symfony/http-kernel/tree/v7.2.2" }, "funding": [ { @@ -10689,7 +10688,7 @@ "type": "tidelift" } ], - "time": "2024-12-11T12:09:10+00:00" + "time": "2024-12-31T14:59:40+00:00" }, { "name": "symfony/mailer", @@ -11867,16 +11866,16 @@ }, { "name": "symfony/stopwatch", - "version": "v7.2.0", + "version": "v7.2.2", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "696f418b0d722a4225e1c3d95489d262971ca924" + "reference": "e46690d5b9d7164a6d061cab1e8d46141b9f49df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/696f418b0d722a4225e1c3d95489d262971ca924", - "reference": "696f418b0d722a4225e1c3d95489d262971ca924", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/e46690d5b9d7164a6d061cab1e8d46141b9f49df", + "reference": "e46690d5b9d7164a6d061cab1e8d46141b9f49df", "shasum": "" }, "require": { @@ -11909,7 +11908,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v7.2.0" + "source": "https://github.com/symfony/stopwatch/tree/v7.2.2" }, "funding": [ { @@ -11925,7 +11924,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2024-12-18T14:28:33+00:00" }, { "name": "symfony/string", @@ -12016,16 +12015,16 @@ }, { "name": "symfony/translation", - "version": "v7.2.0", + "version": "v7.2.2", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "dc89e16b44048ceecc879054e5b7f38326ab6cc5" + "reference": "e2674a30132b7cc4d74540d6c2573aa363f05923" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/dc89e16b44048ceecc879054e5b7f38326ab6cc5", - "reference": "dc89e16b44048ceecc879054e5b7f38326ab6cc5", + "url": "https://api.github.com/repos/symfony/translation/zipball/e2674a30132b7cc4d74540d6c2573aa363f05923", + "reference": "e2674a30132b7cc4d74540d6c2573aa363f05923", "shasum": "" }, "require": { @@ -12091,7 +12090,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v7.2.0" + "source": "https://github.com/symfony/translation/tree/v7.2.2" }, "funding": [ { @@ -12107,7 +12106,7 @@ "type": "tidelift" } ], - "time": "2024-11-12T20:47:56+00:00" + "time": "2024-12-07T08:18:10+00:00" }, { "name": "symfony/translation-contracts", @@ -14947,16 +14946,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.12.13", + "version": "1.12.14", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "9b469068840cfa031e1deaf2fa1886d00e20680f" + "reference": "e73868f809e68fff33be961ad4946e2e43ec9e38" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/9b469068840cfa031e1deaf2fa1886d00e20680f", - "reference": "9b469068840cfa031e1deaf2fa1886d00e20680f", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e73868f809e68fff33be961ad4946e2e43ec9e38", + "reference": "e73868f809e68fff33be961ad4946e2e43ec9e38", "shasum": "" }, "require": { @@ -15001,7 +15000,7 @@ "type": "github" } ], - "time": "2024-12-17T17:00:20+00:00" + "time": "2024-12-31T07:26:13+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", diff --git a/package.json b/package.json index e644687f..0b2a3003 100644 --- a/package.json +++ b/package.json @@ -12,10 +12,10 @@ "@intlify/unplugin-vue-i18n": "^6.0.3", "@quasar/extras": "^1.16.15", "@vitejs/plugin-vue": "^5.2.1", - "@vueuse/core": "^12.2.0", + "@vueuse/core": "^12.3.0", "dompurify": "^3.2.3", "pinia": "^2.3.0", - "quasar": "^2.17.5", + "quasar": "^2.17.6", "sass-embedded": "^1.83.0", "vite-plugin-manifest-sri": "^0.2.0", "vue": "^3.5.13", @@ -25,7 +25,7 @@ "devDependencies": { "@antfu/eslint-config": "^3.12.1", "@quasar/vite-plugin": "^1.8.1", - "@types/node": "^22.10.2", + "@types/node": "^22.10.5", "axios": "^1.7.9", "cypress": "^13.17.0", "eslint": "^9.17.0", @@ -36,7 +36,7 @@ "prettier": "^3.4.2", "typescript": "^5.7.2", "unplugin-auto-import": "^0.19.0", - "vite": "^6.0.6", + "vite": "^6.0.7", "vue-tsc": "^2.2.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 34f8273c..046f383c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,10 +16,10 @@ importers: version: 1.16.15 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@6.0.6(@types/node@22.10.2)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) + version: 5.2.1(vite@6.0.7(@types/node@22.10.5)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.2)) '@vueuse/core': - specifier: ^12.2.0 - version: 12.2.0(typescript@5.7.2) + specifier: ^12.3.0 + version: 12.3.0(typescript@5.7.2) dompurify: specifier: ^3.2.3 version: 3.2.3 @@ -27,8 +27,8 @@ importers: specifier: ^2.3.0 version: 2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)) quasar: - specifier: ^2.17.5 - version: 2.17.5 + specifier: ^2.17.6 + version: 2.17.6 sass-embedded: specifier: ^1.83.0 version: 1.83.0 @@ -50,10 +50,10 @@ importers: version: 3.12.1(@typescript-eslint/utils@8.19.0(eslint@9.17.0)(typescript@5.7.2))(@vue/compiler-sfc@3.5.13)(eslint@9.17.0)(typescript@5.7.2) '@quasar/vite-plugin': specifier: ^1.8.1 - version: 1.8.1(@vitejs/plugin-vue@5.2.1(vite@6.0.6(@types/node@22.10.2)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)))(quasar@2.17.5)(vite@6.0.6(@types/node@22.10.2)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) + version: 1.8.1(@vitejs/plugin-vue@5.2.1(vite@6.0.7(@types/node@22.10.5)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.2)))(quasar@2.17.6)(vite@6.0.7(@types/node@22.10.5)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.2)) '@types/node': - specifier: ^22.10.2 - version: 22.10.2 + specifier: ^22.10.5 + version: 22.10.5 axios: specifier: ^1.7.9 version: 1.7.9 @@ -71,7 +71,7 @@ importers: version: 15.14.0 laravel-vite-plugin: specifier: ^1.1.1 - version: 1.1.1(vite@6.0.6(@types/node@22.10.2)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.6.1)) + version: 1.1.1(vite@6.0.7(@types/node@22.10.5)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.7.0)) lodash: specifier: ^4.17.21 version: 4.17.21 @@ -83,10 +83,10 @@ importers: version: 5.7.2 unplugin-auto-import: specifier: ^0.19.0 - version: 0.19.0(@vueuse/core@12.2.0(typescript@5.7.2))(rollup@4.29.1) + version: 0.19.0(@vueuse/core@12.3.0(typescript@5.7.2))(rollup@4.29.1) vite: - specifier: ^6.0.6 - version: 6.0.6(@types/node@22.10.2)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.6.1) + specifier: ^6.0.7 + version: 6.0.7(@types/node@22.10.5)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.7.0) vue-tsc: specifier: ^2.2.0 version: 2.2.0(typescript@5.7.2) @@ -717,8 +717,8 @@ packages: '@types/ms@0.7.34': resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - '@types/node@22.10.2': - resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==} + '@types/node@22.10.5': + resolution: {integrity: sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -795,8 +795,8 @@ packages: vite: ^5.0.0 || ^6.0.0 vue: ^3.2.25 - '@vitest/eslint-plugin@1.1.21': - resolution: {integrity: sha512-gIpmafm7WSwXGHq413q3fC26+nER5mQtM7Lqi7UusY5bSzeQIJmViC+G6CfPo06U0CfgZ+rt7FPaskpkZ2f6gg==} + '@vitest/eslint-plugin@1.1.24': + resolution: {integrity: sha512-7IaENe4NNy33g0iuuy5bHY69JYYRjpv4lMx6H5Wp30W7ez2baLHwxsXF5TM4wa8JDYZt8ut99Ytoj7GiDO01hw==} peerDependencies: '@typescript-eslint/utils': '>= 8.0' eslint: '>= 8.57.0' @@ -860,14 +860,14 @@ packages: '@vue/shared@3.5.13': resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} - '@vueuse/core@12.2.0': - resolution: {integrity: sha512-jksyNu+5EGwggNkRWd6xX+8qBkYbmrwdFQMgCABsz+wq8bKF6w3soPFLB8vocFp3wFIzn0OYkSPM9JP+AFKwsg==} + '@vueuse/core@12.3.0': + resolution: {integrity: sha512-cnV8QDKZrsyKC7tWjPbeEUz2cD9sa9faxF2YkR8QqNwfofgbOhmfIgvSYmkp+ttSvfOw4E6hLcQx15mRPr0yBA==} - '@vueuse/metadata@12.2.0': - resolution: {integrity: sha512-x6zynZtTh1l52m0y8d/EgzpshnMjg8cNZ2KWoncJ62Z5qPSGoc4FUunmMVrrRM/I/5542rTEY89CGftngZvrkQ==} + '@vueuse/metadata@12.3.0': + resolution: {integrity: sha512-M/iQHHjMffOv2npsw2ihlUx1CTiBwPEgb7DzByLq7zpg1+Ke8r7s9p5ybUWc5OIeGewtpY4Xy0R2cKqFqM8hFg==} - '@vueuse/shared@12.2.0': - resolution: {integrity: sha512-SRr4AZwv/giS+EmyA1ZIzn3/iALjjnWAGaBNmoDTMEob9JwQaevAocuaMDnPAvU7Z35Y5g3CFRusCWgp1gVJ3Q==} + '@vueuse/shared@12.3.0': + resolution: {integrity: sha512-X3YD35GUeW0d5Gajcwv9jdLAJTV2Jdb/Ll6Ii2JIYcKLYZqv5wxyLeKtiQkqWmHg3v0J0ZWjDUMVOw2E7RCXfA==} acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -1328,8 +1328,8 @@ packages: resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==} engines: {node: '>=5.0.0'} - eslint-plugin-perfectionist@4.4.0: - resolution: {integrity: sha512-B78pWxCsA2sClourpWEmWziCcjEsAEyxsNV5G6cxxteu/NI0/2en9XZUONf5e/+O+dgoLZsEPHQEhnIxJcnUvA==} + eslint-plugin-perfectionist@4.5.0: + resolution: {integrity: sha512-Dh+6UO50GLRM5z8HMv7HkCy+XUGgDfG8jbTYrqL6A07VBIPzlnM3CMZkovWEWT3mOPzlFTYdyp1bYr+HZTKD6g==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: eslint: '>=8.0.0' @@ -1549,8 +1549,12 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-intrinsic@1.2.6: - resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==} + get-intrinsic@1.2.7: + resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} get-stream@5.2.0: @@ -1840,8 +1844,8 @@ packages: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - mdast-util-find-and-replace@3.0.1: - resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + mdast-util-find-and-replace@3.0.2: + resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} mdast-util-from-markdown@2.0.2: resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} @@ -2188,8 +2192,8 @@ packages: resolution: {integrity: sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg==} engines: {node: '>=0.6'} - quasar@2.17.5: - resolution: {integrity: sha512-gMpJm4T7dXo7NleeRhkU+phytw5cgjpiB90/Jpmi39p/ll64Xh7NpQNtvAhAvQAtqct0Z+DV0paKrfuGwZ0Ksw==} + quasar@2.17.6: + resolution: {integrity: sha512-SdAGWbLOkUr/CXTu10UEeV5a06fhfRSpMWo2nAm48wZkyIyxWiK2Af8tKa2BZbYFpSoS2l9atnyFTiukHgoe5Q==} engines: {node: '>= 10.18.1', npm: '>= 6.13.4', yarn: '>= 1.21.1'} queue-microtask@1.2.3: @@ -2707,8 +2711,8 @@ packages: vite-plugin-manifest-sri@0.2.0: resolution: {integrity: sha512-Zt5jt19xTIJ91LOuQTCtNG7rTFc5OziAjBz2H5NdCGqaOD1nxrWExLhcKW+W4/q8/jOPCg/n5ncYEQmqCxiGQQ==} - vite@6.0.6: - resolution: {integrity: sha512-NSjmUuckPmDU18bHz7QZ+bTYhRR0iA72cs2QAxCqDpafJ0S6qetco0LB3WW2OxlMHS0JmAv+yZ/R3uPmMyGTjQ==} + vite@6.0.7: + resolution: {integrity: sha512-RDt8r/7qx9940f8FcOIAH9PTViRrghKaK2K1jY3RaAURrEUbm9Du1mJ72G+jlhtG3WwodnfzY8ORQZbBavZEAQ==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: @@ -2827,8 +2831,8 @@ packages: resolution: {integrity: sha512-4wZWvE398hCP7O8n3nXKu/vdq1HcH01ixYlCREaJL5NUMwQ0g3MaGFUBNSlmBtKmhbtVG/Cm6lyYmSVTEVil8A==} engines: {node: ^14.17.0 || >=16.0.0} - yaml@2.6.1: - resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==} + yaml@2.7.0: + resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} engines: {node: '>= 14'} hasBin: true @@ -2861,7 +2865,7 @@ snapshots: '@stylistic/eslint-plugin': 2.12.1(eslint@9.17.0)(typescript@5.7.2) '@typescript-eslint/eslint-plugin': 8.19.0(@typescript-eslint/parser@8.19.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2) '@typescript-eslint/parser': 8.19.0(eslint@9.17.0)(typescript@5.7.2) - '@vitest/eslint-plugin': 1.1.21(@typescript-eslint/utils@8.19.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2) + '@vitest/eslint-plugin': 1.1.24(@typescript-eslint/utils@8.19.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2) eslint: 9.17.0 eslint-config-flat-gitignore: 0.3.0(eslint@9.17.0) eslint-flat-config-utils: 0.4.0 @@ -2873,7 +2877,7 @@ snapshots: eslint-plugin-jsonc: 2.18.2(eslint@9.17.0) eslint-plugin-n: 17.15.1(eslint@9.17.0) eslint-plugin-no-only-tests: 3.3.0 - eslint-plugin-perfectionist: 4.4.0(eslint@9.17.0)(typescript@5.7.2) + eslint-plugin-perfectionist: 4.5.0(eslint@9.17.0)(typescript@5.7.2) eslint-plugin-regexp: 2.7.0(eslint@9.17.0) eslint-plugin-toml: 0.12.0(eslint@9.17.0) eslint-plugin-unicorn: 56.0.1(eslint@9.17.0) @@ -3270,11 +3274,11 @@ snapshots: '@quasar/extras@1.16.15': {} - '@quasar/vite-plugin@1.8.1(@vitejs/plugin-vue@5.2.1(vite@6.0.6(@types/node@22.10.2)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)))(quasar@2.17.5)(vite@6.0.6(@types/node@22.10.2)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))': + '@quasar/vite-plugin@1.8.1(@vitejs/plugin-vue@5.2.1(vite@6.0.7(@types/node@22.10.5)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.2)))(quasar@2.17.6)(vite@6.0.7(@types/node@22.10.5)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.2))': dependencies: - '@vitejs/plugin-vue': 5.2.1(vite@6.0.6(@types/node@22.10.2)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) - quasar: 2.17.5 - vite: 6.0.6(@types/node@22.10.2)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.6.1) + '@vitejs/plugin-vue': 5.2.1(vite@6.0.7(@types/node@22.10.5)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.2)) + quasar: 2.17.6 + vite: 6.0.7(@types/node@22.10.5)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.7.0) vue: 3.5.13(typescript@5.7.2) '@rollup/pluginutils@5.1.4(rollup@4.29.1)': @@ -3370,7 +3374,7 @@ snapshots: '@types/ms@0.7.34': {} - '@types/node@22.10.2': + '@types/node@22.10.5': dependencies: undici-types: 6.20.0 @@ -3389,7 +3393,7 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.5 optional: true '@typescript-eslint/eslint-plugin@8.19.0(@typescript-eslint/parser@8.19.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2)': @@ -3469,12 +3473,12 @@ snapshots: '@typescript-eslint/types': 8.19.0 eslint-visitor-keys: 4.2.0 - '@vitejs/plugin-vue@5.2.1(vite@6.0.6(@types/node@22.10.2)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))': + '@vitejs/plugin-vue@5.2.1(vite@6.0.7(@types/node@22.10.5)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.2))': dependencies: - vite: 6.0.6(@types/node@22.10.2)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.6.1) + vite: 6.0.7(@types/node@22.10.5)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.7.0) vue: 3.5.13(typescript@5.7.2) - '@vitest/eslint-plugin@1.1.21(@typescript-eslint/utils@8.19.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2)': + '@vitest/eslint-plugin@1.1.24(@typescript-eslint/utils@8.19.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2)': dependencies: '@typescript-eslint/utils': 8.19.0(eslint@9.17.0)(typescript@5.7.2) eslint: 9.17.0 @@ -3567,18 +3571,18 @@ snapshots: '@vue/shared@3.5.13': {} - '@vueuse/core@12.2.0(typescript@5.7.2)': + '@vueuse/core@12.3.0(typescript@5.7.2)': dependencies: '@types/web-bluetooth': 0.0.20 - '@vueuse/metadata': 12.2.0 - '@vueuse/shared': 12.2.0(typescript@5.7.2) + '@vueuse/metadata': 12.3.0 + '@vueuse/shared': 12.3.0(typescript@5.7.2) vue: 3.5.13(typescript@5.7.2) transitivePeerDependencies: - typescript - '@vueuse/metadata@12.2.0': {} + '@vueuse/metadata@12.3.0': {} - '@vueuse/shared@12.2.0(typescript@5.7.2)': + '@vueuse/shared@12.3.0(typescript@5.7.2)': dependencies: vue: 3.5.13(typescript@5.7.2) transitivePeerDependencies: @@ -3703,7 +3707,7 @@ snapshots: call-bound@1.0.3: dependencies: call-bind-apply-helpers: 1.0.1 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 callsites@3.1.0: {} @@ -4096,7 +4100,7 @@ snapshots: eslint-plugin-no-only-tests@3.3.0: {} - eslint-plugin-perfectionist@4.4.0(eslint@9.17.0)(typescript@5.7.2): + eslint-plugin-perfectionist@4.5.0(eslint@9.17.0)(typescript@5.7.2): dependencies: '@typescript-eslint/types': 8.19.0 '@typescript-eslint/utils': 8.19.0(eslint@9.17.0)(typescript@5.7.2) @@ -4382,19 +4386,24 @@ snapshots: get-caller-file@2.0.5: {} - get-intrinsic@1.2.6: + get-intrinsic@1.2.7: dependencies: call-bind-apply-helpers: 1.0.1 - dunder-proto: 1.0.1 es-define-property: 1.0.1 es-errors: 1.3.0 es-object-atoms: 1.0.0 function-bind: 1.1.2 + get-proto: 1.0.1 gopd: 1.2.0 has-symbols: 1.1.0 hasown: 2.0.2 math-intrinsics: 1.1.0 + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.0.0 + get-stream@5.2.0: dependencies: pump: 3.0.2 @@ -4568,10 +4577,10 @@ snapshots: dependencies: json-buffer: 3.0.1 - laravel-vite-plugin@1.1.1(vite@6.0.6(@types/node@22.10.2)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.6.1)): + laravel-vite-plugin@1.1.1(vite@6.0.7(@types/node@22.10.5)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.7.0)): dependencies: picocolors: 1.1.1 - vite: 6.0.6(@types/node@22.10.2)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.6.1) + vite: 6.0.7(@types/node@22.10.5)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.7.0) vite-plugin-full-reload: 1.2.0 lazy-ass@1.6.0: {} @@ -4637,7 +4646,7 @@ snapshots: math-intrinsics@1.1.0: {} - mdast-util-find-and-replace@3.0.1: + mdast-util-find-and-replace@3.0.2: dependencies: '@types/mdast': 4.0.4 escape-string-regexp: 5.0.0 @@ -4666,7 +4675,7 @@ snapshots: '@types/mdast': 4.0.4 ccount: 2.0.1 devlop: 1.1.0 - mdast-util-find-and-replace: 3.0.1 + mdast-util-find-and-replace: 3.0.2 micromark-util-character: 2.1.1 mdast-util-gfm-footnote@2.0.0: @@ -5133,7 +5142,7 @@ snapshots: dependencies: side-channel: 1.1.0 - quasar@2.17.5: {} + quasar@2.17.6: {} queue-microtask@1.2.3: {} @@ -5361,14 +5370,14 @@ snapshots: dependencies: call-bound: 1.0.3 es-errors: 1.3.0 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 object-inspect: 1.13.3 side-channel-weakmap@1.0.2: dependencies: call-bound: 1.0.3 es-errors: 1.3.0 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 object-inspect: 1.13.3 side-channel-map: 1.0.1 @@ -5583,7 +5592,7 @@ snapshots: universalify@2.0.1: {} - unplugin-auto-import@0.19.0(@vueuse/core@12.2.0(typescript@5.7.2))(rollup@4.29.1): + unplugin-auto-import@0.19.0(@vueuse/core@12.3.0(typescript@5.7.2))(rollup@4.29.1): dependencies: '@antfu/utils': 0.7.10 '@rollup/pluginutils': 5.1.4(rollup@4.29.1) @@ -5593,7 +5602,7 @@ snapshots: unimport: 3.14.5(rollup@4.29.1) unplugin: 2.1.2 optionalDependencies: - '@vueuse/core': 12.2.0(typescript@5.7.2) + '@vueuse/core': 12.3.0(typescript@5.7.2) transitivePeerDependencies: - rollup @@ -5643,17 +5652,17 @@ snapshots: vite-plugin-manifest-sri@0.2.0: {} - vite@6.0.6(@types/node@22.10.2)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.6.1): + vite@6.0.7(@types/node@22.10.5)(sass-embedded@1.83.0)(sass@1.80.3)(yaml@2.7.0): dependencies: esbuild: 0.24.2 postcss: 8.4.49 rollup: 4.29.1 optionalDependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.5 fsevents: 2.3.3 sass: 1.80.3 sass-embedded: 1.83.0 - yaml: 2.6.1 + yaml: 2.7.0 vscode-uri@3.0.8: {} @@ -5732,9 +5741,9 @@ snapshots: dependencies: eslint-visitor-keys: 3.4.3 lodash: 4.17.21 - yaml: 2.6.1 + yaml: 2.7.0 - yaml@2.6.1: {} + yaml@2.7.0: {} yargs-parser@21.1.1: {} From 71b214494b4e4ca3c2a3759ee7882ff244742111 Mon Sep 17 00:00:00 2001 From: Vincent Auger Date: Fri, 3 Jan 2025 14:46:22 -0400 Subject: [PATCH 2/3] initial announcement system - closes #752 --- .env.example | 3 - .../CheckAnnouncementController.php | 30 +++++++ .../OhDear/CheckStatusPageController.php | 38 --------- app/Http/Resources/AnnouncementResource.php | 36 +++++++++ app/Models/Announcement.php | 35 ++++++++ app/Policies/AnnouncementPolicy.php | 50 ++++++++++++ config/osp.php | 5 -- database/factories/AnnouncementFactory.php | 28 +++++++ ...1_03_170952_create_announcements_table.php | 25 ++++++ resources/src/api/OhDearStatus.ts | 81 ------------------- resources/src/auto-imports.d.ts | 2 + .../src/components/OhDearStatusMonitor.vue | 74 ----------------- resources/src/layouts/MainLayout.vue | 8 +- .../src/models/Announcement/Announcement.ts | 27 +++++++ .../components/AnnouncementMonitor.vue | 73 +++++++++++++++++ resources/src/models/Expertise/Expertise.ts | 4 +- routes/api.php | 4 +- tests/Feature/Models/AnnouncementTest.php | 35 ++++++++ 18 files changed, 349 insertions(+), 209 deletions(-) create mode 100644 app/Http/Controllers/Announcement/CheckAnnouncementController.php delete mode 100644 app/Http/Controllers/OhDear/CheckStatusPageController.php create mode 100644 app/Http/Resources/AnnouncementResource.php create mode 100644 app/Models/Announcement.php create mode 100644 app/Policies/AnnouncementPolicy.php create mode 100644 database/factories/AnnouncementFactory.php create mode 100644 database/migrations/2025_01_03_170952_create_announcements_table.php delete mode 100644 resources/src/api/OhDearStatus.ts delete mode 100644 resources/src/components/OhDearStatusMonitor.vue create mode 100644 resources/src/models/Announcement/Announcement.ts create mode 100644 resources/src/models/Announcement/components/AnnouncementMonitor.vue create mode 100644 tests/Feature/Models/AnnouncementTest.php diff --git a/.env.example b/.env.example index d45578c6..393ebb96 100644 --- a/.env.example +++ b/.env.example @@ -68,9 +68,6 @@ USE_OLLAMA=false OLLAMA_MODEL=llama3.2 OLLAMA_URL= -OHDEAR_ENABLED=false -OHDEAR_URL="" - ORCID_USE_SANDBOX=false ORCID_REDIRECT_URI="${FRONTEND_URL}api/orcid/callback" ORCID_CLIENT_ID="" diff --git a/app/Http/Controllers/Announcement/CheckAnnouncementController.php b/app/Http/Controllers/Announcement/CheckAnnouncementController.php new file mode 100644 index 00000000..cb6c889e --- /dev/null +++ b/app/Http/Controllers/Announcement/CheckAnnouncementController.php @@ -0,0 +1,30 @@ +orderBy('start_at', 'desc')->get(); + + if ($announcment->isEmpty()) { + return response()->json([], 204); + } + + return AnnouncementResource::collection($announcment); + + } +} diff --git a/app/Http/Controllers/OhDear/CheckStatusPageController.php b/app/Http/Controllers/OhDear/CheckStatusPageController.php deleted file mode 100644 index 2bc83c52..00000000 --- a/app/Http/Controllers/OhDear/CheckStatusPageController.php +++ /dev/null @@ -1,38 +0,0 @@ -json([ - 'message' => 'Status Monitoring is not enabled', - ], 202); - } - - $locale = $this->getLocaleFromRequest($request); - $url = config('osp.ohdear.url').'/json?locale='.$locale; - $rememberFor = 60 * 10; - - $statusResponse = Cache::remember($url, $rememberFor, function () use ($url) { - return Http::get($url)->json(); - }); - - return response()->json($statusResponse); - - } -} diff --git a/app/Http/Resources/AnnouncementResource.php b/app/Http/Resources/AnnouncementResource.php new file mode 100644 index 00000000..b781c63b --- /dev/null +++ b/app/Http/Resources/AnnouncementResource.php @@ -0,0 +1,36 @@ + + */ + public function toArray(Request $request): array + { + return [ + 'data' => [ + 'id' => $this->id, + 'title_en' => $this->title_en, + 'title_fr' => $this->title_fr, + 'text_en' => $this->text_en, + 'text_fr' => $this->text_fr, + 'start_at' => $this->start_at, + 'end_at' => $this->end_at, + ], + 'can' => [ + 'update' => false, + 'delete' => false, + ], + ]; + } +} diff --git a/app/Models/Announcement.php b/app/Models/Announcement.php new file mode 100644 index 00000000..9cfe4571 --- /dev/null +++ b/app/Models/Announcement.php @@ -0,0 +1,35 @@ + */ + use HasFactory; + + /** + * Get the attributes that should be cast. + * + * @return array + */ + public function casts(): array + { + return [ + 'start_at' => 'datetime', + 'end_at' => 'datetime', + ]; + } + + /** + * Return active announcements + */ + public function scopeActive(Builder $query) + { + return $query->where('start_at', '<=', now()) + ->where('end_at', '>=', now()); + } +} diff --git a/app/Policies/AnnouncementPolicy.php b/app/Policies/AnnouncementPolicy.php new file mode 100644 index 00000000..b6626f14 --- /dev/null +++ b/app/Policies/AnnouncementPolicy.php @@ -0,0 +1,50 @@ +hasRole(UserRole::ADMIN); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, Announcement $announcement): bool + { + return $user->hasRole(UserRole::ADMIN); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->hasRole(UserRole::ADMIN); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, Announcement $announcement): bool + { + return $user->hasRole(UserRole::ADMIN); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, Announcement $announcement): bool + { + return $user->hasRole(UserRole::ADMIN); + } +} diff --git a/config/osp.php b/config/osp.php index 042132c2..f6322248 100644 --- a/config/osp.php +++ b/config/osp.php @@ -46,11 +46,6 @@ 'redirect_uri' => env('ORCID_REDIRECT_URI'), ], - 'ohdear' => [ - 'enabled' => env('OHDEAR_ENABLED', false), - 'url' => env('OHDEAR_URL'), - ], - 'ollama' => [ 'enabled' => env('USE_OLLAMA', false), 'url' => env('OLLAMA_URL'), diff --git a/database/factories/AnnouncementFactory.php b/database/factories/AnnouncementFactory.php new file mode 100644 index 00000000..453445a9 --- /dev/null +++ b/database/factories/AnnouncementFactory.php @@ -0,0 +1,28 @@ + + */ +class AnnouncementFactory extends Factory +{ + /** + * Define the model's default state. + * + * @return array + */ + public function definition(): array + { + return [ + 'title_en' => $this->faker->sentence, + 'title_fr' => $this->faker->sentence, + 'text_en' => $this->faker->paragraph, + 'text_fr' => $this->faker->paragraph, + 'start_at' => $this->faker->dateTimeBetween('-2 week', '-1 week'), + 'end_at' => $this->faker->dateTimeBetween('+1 week', '+2 week'), + ]; + } +} diff --git a/database/migrations/2025_01_03_170952_create_announcements_table.php b/database/migrations/2025_01_03_170952_create_announcements_table.php new file mode 100644 index 00000000..b33f1d6a --- /dev/null +++ b/database/migrations/2025_01_03_170952_create_announcements_table.php @@ -0,0 +1,25 @@ +id(); + $table->timestamps(); + $table->string('title_en', 255); + $table->string('title_fr', 255); + $table->string('text_en', 500); + $table->string('text_fr', 500); + $table->dateTime('start_at'); + $table->dateTime('end_at'); + }); + } +}; diff --git a/resources/src/api/OhDearStatus.ts b/resources/src/api/OhDearStatus.ts deleted file mode 100644 index 906055da..00000000 --- a/resources/src/api/OhDearStatus.ts +++ /dev/null @@ -1,81 +0,0 @@ -import type { Locale } from '@/stores/LocaleStore' -import { http } from '@/api/http' - -export interface OhDearStatusPage { - title: string - timezone: string - pinnedUpdate: Update | null - sites: Sites - updatesPerDay: { [key: string]: Update[] } - summarizedStatus: string -} - -export interface Update { - id: number - title: string - text: string - pinned: boolean - severity: 'info' | 'warning' | 'high' | 'resolved' | 'scheduled' - time: number -} - -export interface Sites { - [key: string]: Site[] -} - -export interface Site { - label: string - url: string - status: string -} - -export class OhDearStatus { - private readonly baseUrl: string - locale: Locale - OhDearStatusPage: OhDearStatusPage | null = null - - constructor(baseUrl: string, locale: Locale) { - this.baseUrl = baseUrl - this.locale = locale - } - - public async updateLocale(locale: Locale) { - this.locale = locale - return this.updateStatus() - } - - public async updateStatus() { - const response = await http.get( - `${this.baseUrl}?locale=${this.locale}`, - ) - - if (response.status !== 200) { - throw new Error(`OhDearStatus: ${response.statusText}`) - } - this.OhDearStatusPage = response.data - return this.OhDearStatusPage - } - - public hasPinnedUpdate(): boolean { - if (this.OhDearStatusPage === null) - return false - if (this.OhDearStatusPage.pinnedUpdate === null) - return false - return true - } - - public getPinnedUpdateDate(): Date | null { - if (this.OhDearStatusPage === null) - return null - if (this.OhDearStatusPage.pinnedUpdate?.time === undefined) - return null - - const secondsSinceEpoch = this.OhDearStatusPage.pinnedUpdate.time - const time = new Date(secondsSinceEpoch * 1000) - return time - } - - public getPinnedUpdateId(): number | null { - return this.OhDearStatusPage?.pinnedUpdate?.id ?? null - } -} diff --git a/resources/src/auto-imports.d.ts b/resources/src/auto-imports.d.ts index 3cb857ef..d685693d 100644 --- a/resources/src/auto-imports.d.ts +++ b/resources/src/auto-imports.d.ts @@ -71,6 +71,7 @@ declare global { const onBeforeUpdate: typeof import('vue')['onBeforeUpdate'] const onClickOutside: typeof import('@vueuse/core')['onClickOutside'] const onDeactivated: typeof import('vue')['onDeactivated'] + const onElementRemoval: typeof import('@vueuse/core')['onElementRemoval'] const onErrorCaptured: typeof import('vue')['onErrorCaptured'] const onKeyStroke: typeof import('@vueuse/core')['onKeyStroke'] const onLongPress: typeof import('@vueuse/core')['onLongPress'] @@ -409,6 +410,7 @@ declare module 'vue' { readonly onBeforeUpdate: UnwrapRef readonly onClickOutside: UnwrapRef readonly onDeactivated: UnwrapRef + readonly onElementRemoval: UnwrapRef readonly onErrorCaptured: UnwrapRef readonly onKeyStroke: UnwrapRef readonly onLongPress: UnwrapRef diff --git a/resources/src/components/OhDearStatusMonitor.vue b/resources/src/components/OhDearStatusMonitor.vue deleted file mode 100644 index fc214c2e..00000000 --- a/resources/src/components/OhDearStatusMonitor.vue +++ /dev/null @@ -1,74 +0,0 @@ - - - - - diff --git a/resources/src/layouts/MainLayout.vue b/resources/src/layouts/MainLayout.vue index 3ca1c468..c653d312 100644 --- a/resources/src/layouts/MainLayout.vue +++ b/resources/src/layouts/MainLayout.vue @@ -1,9 +1,9 @@ + + + + diff --git a/resources/src/models/Expertise/Expertise.ts b/resources/src/models/Expertise/Expertise.ts index 5aac1eb5..37ae6743 100644 --- a/resources/src/models/Expertise/Expertise.ts +++ b/resources/src/models/Expertise/Expertise.ts @@ -1,7 +1,7 @@ +import type { Locale } from '@/stores/LocaleStore' import type { Resource, ResourceList } from '../Resource' -import { SpatieQuery } from '@/api/SpatieQuery' import { http } from '@/api/http' -import type { Locale } from '@/stores/LocaleStore' +import { SpatieQuery } from '@/api/SpatieQuery' export interface Expertise { id: string // ulid diff --git a/routes/api.php b/routes/api.php index b04e2abf..846a4a02 100644 --- a/routes/api.php +++ b/routes/api.php @@ -1,5 +1,6 @@ get('/api/announcements'); + $response->assertStatus(204); + + Announcement::factory()->create([ + 'title_en' => 'Test Title', + 'title_fr' => 'Test Title', + 'text_en' => 'Test Text', + 'text_fr' => 'Test Text', + 'start_at' => now()->subDay(), + 'end_at' => now()->addDay(), + ]); + + // make anohther innactive announcement + Announcement::factory()->create([ + 'title_en' => 'Old Test Title', + 'title_fr' => 'Test Title', + 'text_en' => 'Test Text', + 'text_fr' => 'Test Text', + 'start_at' => now()->subDays(2), + 'end_at' => now()->subDay(), + ]); + + $response = $this->get('/api/announcements'); + $response->assertStatus(200); + + expect($response->json('data.0.data.title_en'))->toBe('Test Title'); + $response->assertJsonCount(1, 'data'); + +}); From 6a0258e399ab107e75a1af4f9c27fe6e8fad5e9b Mon Sep 17 00:00:00 2001 From: Vincent Auger Date: Fri, 3 Jan 2025 15:48:30 -0400 Subject: [PATCH 3/3] feat: ability to unmute announcement --- .../CheckAnnouncementController.php | 6 ++--- resources/src/components/MainFooter.vue | 4 ++-- resources/src/layouts/MainLayout.vue | 2 -- resources/src/locales/en.json | 4 +++- resources/src/locales/fr.json | 3 ++- .../components/AnnouncementMonitor.vue | 22 ++++++++++++++++++- tests/Feature/Models/AnnouncementTest.php | 2 +- 7 files changed, 32 insertions(+), 11 deletions(-) diff --git a/app/Http/Controllers/Announcement/CheckAnnouncementController.php b/app/Http/Controllers/Announcement/CheckAnnouncementController.php index cb6c889e..7d645c1e 100644 --- a/app/Http/Controllers/Announcement/CheckAnnouncementController.php +++ b/app/Http/Controllers/Announcement/CheckAnnouncementController.php @@ -18,13 +18,13 @@ class CheckAnnouncementController extends Controller public function __invoke(Request $request) { - $announcment = Announcement::active()->orderBy('start_at', 'desc')->get(); + $announcement = Announcement::active()->orderBy('start_at', 'desc')->get(); - if ($announcment->isEmpty()) { + if ($announcement->isEmpty()) { return response()->json([], 204); } - return AnnouncementResource::collection($announcment); + return AnnouncementResource::collection($announcement); } } diff --git a/resources/src/components/MainFooter.vue b/resources/src/components/MainFooter.vue index 9a0c2615..28b2c188 100644 --- a/resources/src/components/MainFooter.vue +++ b/resources/src/components/MainFooter.vue @@ -1,5 +1,5 @@