From 1f574ae5c8ffdbc56506cbe26a36c746d5257f46 Mon Sep 17 00:00:00 2001 From: HolgerHatGarKeineNode <123783602+HolgerHatGarKeineNode@users.noreply.github.com> Date: Wed, 20 May 2026 00:22:53 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20**Add=20`.codegraph`=20config=20?= =?UTF-8?q?&=20update=20dependencies**=20-=20=E2=9E=95=20Added=20`.codegra?= =?UTF-8?q?ph/config.json`=20for=20file=20inclusion/exclusion=20in=20analy?= =?UTF-8?q?tics.=20-=20=E2=AC=86=EF=B8=8F=20Bumped=20versions=20of=20`guzz?= =?UTF-8?q?lehttp`,=20`laravel/framework`,=20`laravel/horizon`,=20`shiki`,?= =?UTF-8?q?=20`nostr-tools`,=20and=20other=20dependencies=20in=20`composer?= =?UTF-8?q?.lock`=20and=20`yarn.lock`.=20-=20=F0=9F=96=BC=EF=B8=8F=20Enhan?= =?UTF-8?q?ced=20file=20upload=20validation=20and=20preview=20support=20by?= =?UTF-8?q?=20including=20`.avif`=20MIME=20type=20in=20`livewire`=20compon?= =?UTF-8?q?ents=20and=20configuration.=20-=20=E2=9C=85=20Added=20tests=20t?= =?UTF-8?q?o=20ensure=20`.avif`=20is=20supported=20across=20file=20upload?= =?UTF-8?q?=20forms.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .codegraph/.gitignore | 16 ++ .codegraph/config.json | 140 +++++++++++++++++ composer.lock | 143 ++++++++++-------- config/livewire.php | 2 +- package.json | 4 +- .../views/livewire/courses/create.blade.php | 2 +- .../views/livewire/courses/edit.blade.php | 2 +- .../views/livewire/lecturers/create.blade.php | 2 +- .../views/livewire/lecturers/edit.blade.php | 2 +- .../views/livewire/meetups/create.blade.php | 2 +- .../views/livewire/meetups/edit.blade.php | 2 +- .../Livewire/AvifPreviewSupportTest.php | 25 +++ yarn.lock | 102 ++++++------- 13 files changed, 319 insertions(+), 125 deletions(-) create mode 100644 .codegraph/.gitignore create mode 100644 .codegraph/config.json create mode 100644 tests/Feature/Livewire/AvifPreviewSupportTest.php diff --git a/.codegraph/.gitignore b/.codegraph/.gitignore new file mode 100644 index 0000000..9de0f16 --- /dev/null +++ b/.codegraph/.gitignore @@ -0,0 +1,16 @@ +# CodeGraph data files +# These are local to each machine and should not be committed + +# Database +*.db +*.db-wal +*.db-shm + +# Cache +cache/ + +# Logs +*.log + +# Hook markers +.dirty diff --git a/.codegraph/config.json b/.codegraph/config.json new file mode 100644 index 0000000..f613aa7 --- /dev/null +++ b/.codegraph/config.json @@ -0,0 +1,140 @@ +{ + "version": 1, + "include": [ + "**/*.ts", + "**/*.tsx", + "**/*.js", + "**/*.jsx", + "**/*.py", + "**/*.go", + "**/*.rs", + "**/*.java", + "**/*.c", + "**/*.h", + "**/*.cpp", + "**/*.hpp", + "**/*.cc", + "**/*.cxx", + "**/*.cs", + "**/*.php", + "**/*.rb", + "**/*.swift", + "**/*.kt", + "**/*.kts", + "**/*.dart", + "**/*.svelte", + "**/*.liquid", + "**/*.pas", + "**/*.dpr", + "**/*.dpk", + "**/*.lpr", + "**/*.dfm", + "**/*.fmx" + ], + "exclude": [ + "**/.git/**", + "**/node_modules/**", + "**/vendor/**", + "**/Pods/**", + "**/dist/**", + "**/build/**", + "**/out/**", + "**/bin/**", + "**/obj/**", + "**/target/**", + "**/*.min.js", + "**/*.bundle.js", + "**/.next/**", + "**/.nuxt/**", + "**/.svelte-kit/**", + "**/.output/**", + "**/.turbo/**", + "**/.cache/**", + "**/.parcel-cache/**", + "**/.vite/**", + "**/.astro/**", + "**/.docusaurus/**", + "**/.gatsby/**", + "**/.webpack/**", + "**/.nx/**", + "**/.yarn/cache/**", + "**/.pnpm-store/**", + "**/storybook-static/**", + "**/.expo/**", + "**/web-build/**", + "**/ios/Pods/**", + "**/ios/build/**", + "**/android/build/**", + "**/android/.gradle/**", + "**/__pycache__/**", + "**/.venv/**", + "**/venv/**", + "**/site-packages/**", + "**/dist-packages/**", + "**/.pytest_cache/**", + "**/.mypy_cache/**", + "**/.ruff_cache/**", + "**/.tox/**", + "**/.nox/**", + "**/*.egg-info/**", + "**/.eggs/**", + "**/go/pkg/mod/**", + "**/target/debug/**", + "**/target/release/**", + "**/.gradle/**", + "**/.m2/**", + "**/generated-sources/**", + "**/.kotlin/**", + "**/.dart_tool/**", + "**/.vs/**", + "**/.nuget/**", + "**/artifacts/**", + "**/publish/**", + "**/cmake-build-*/**", + "**/CMakeFiles/**", + "**/bazel-*/**", + "**/vcpkg_installed/**", + "**/.conan/**", + "**/Debug/**", + "**/Release/**", + "**/x64/**", + "**/.pio/**", + "**/release/**", + "**/*.app/**", + "**/*.asar", + "**/DerivedData/**", + "**/.build/**", + "**/.swiftpm/**", + "**/xcuserdata/**", + "**/Carthage/Build/**", + "**/SourcePackages/**", + "**/__history/**", + "**/__recovery/**", + "**/*.dcu", + "**/.composer/**", + "**/storage/framework/**", + "**/bootstrap/cache/**", + "**/.bundle/**", + "**/tmp/cache/**", + "**/public/assets/**", + "**/public/packs/**", + "**/.yardoc/**", + "**/coverage/**", + "**/htmlcov/**", + "**/.nyc_output/**", + "**/test-results/**", + "**/.coverage/**", + "**/.idea/**", + "**/logs/**", + "**/tmp/**", + "**/temp/**", + "**/_build/**", + "**/docs/_build/**", + "**/site/**" + ], + "languages": [], + "frameworks": [], + "maxFileSize": 1048576, + "extractDocstrings": true, + "trackCallSites": true +} \ No newline at end of file diff --git a/composer.lock b/composer.lock index afb8d59..b3b8706 100644 --- a/composer.lock +++ b/composer.lock @@ -1405,16 +1405,16 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.10.0", + "version": "7.10.1", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4" + "reference": "b777df1776c667e287664dda75b0298ad8ae3a14" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", - "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b777df1776c667e287664dda75b0298ad8ae3a14", + "reference": "b777df1776c667e287664dda75b0298ad8ae3a14", "shasum": "" }, "require": { @@ -1432,8 +1432,9 @@ "bamarni/composer-bin-plugin": "^1.8.2", "ext-curl": "*", "guzzle/client-integration-tests": "3.0.2", + "guzzlehttp/test-server": "^0.3.2", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.39 || ^9.6.20", + "phpunit/phpunit": "^8.5.52 || ^9.6.34", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { @@ -1511,7 +1512,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.10.0" + "source": "https://github.com/guzzle/guzzle/tree/7.10.1" }, "funding": [ { @@ -1527,20 +1528,20 @@ "type": "tidelift" } ], - "time": "2025-08-23T22:36:01+00:00" + "time": "2026-05-19T18:01:31+00:00" }, { "name": "guzzlehttp/promises", - "version": "2.3.0", + "version": "2.3.1", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "481557b130ef3790cf82b713667b43030dc9c957" + "reference": "d2d8dfae4757f384d630fdffc2d8d6618d8f4c5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957", - "reference": "481557b130ef3790cf82b713667b43030dc9c957", + "url": "https://api.github.com/repos/guzzle/promises/zipball/d2d8dfae4757f384d630fdffc2d8d6618d8f4c5e", + "reference": "d2d8dfae4757f384d630fdffc2d8d6618d8f4c5e", "shasum": "" }, "require": { @@ -1548,7 +1549,7 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.44 || ^9.6.25" + "phpunit/phpunit": "^8.5.52 || ^9.6.34" }, "type": "library", "extra": { @@ -1594,7 +1595,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.3.0" + "source": "https://github.com/guzzle/promises/tree/2.3.1" }, "funding": [ { @@ -1610,20 +1611,20 @@ "type": "tidelift" } ], - "time": "2025-08-22T14:34:08+00:00" + "time": "2026-05-19T18:30:48+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.9.0", + "version": "2.10.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "7d0ed42f28e42d61352a7a79de682e5e67fec884" + "reference": "d5ddaf5743c42a61cb6100f83dc9d5a2bafe75ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/7d0ed42f28e42d61352a7a79de682e5e67fec884", - "reference": "7d0ed42f28e42d61352a7a79de682e5e67fec884", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/d5ddaf5743c42a61cb6100f83dc9d5a2bafe75ca", + "reference": "d5ddaf5743c42a61cb6100f83dc9d5a2bafe75ca", "shasum": "" }, "require": { @@ -1638,9 +1639,9 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "http-interop/http-factory-tests": "0.9.0", + "http-interop/http-factory-tests": "1.1.0", "jshttp/mime-db": "1.54.0.1", - "phpunit/phpunit": "^8.5.44 || ^9.6.25" + "phpunit/phpunit": "^8.5.52 || ^9.6.34" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -1711,7 +1712,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.9.0" + "source": "https://github.com/guzzle/psr7/tree/2.10.0" }, "funding": [ { @@ -1727,7 +1728,7 @@ "type": "tidelift" } ], - "time": "2026-03-10T16:41:02+00:00" + "time": "2026-05-19T17:32:11+00:00" }, { "name": "guzzlehttp/uri-template", @@ -1961,16 +1962,16 @@ }, { "name": "laravel/framework", - "version": "v13.9.0", + "version": "v13.11.1", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "a0c6ad03b380287015287d8d5a0fa2459e2332fd" + "reference": "6b70133ea3552afc37307ffb85b9efa48dc187d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/a0c6ad03b380287015287d8d5a0fa2459e2332fd", - "reference": "a0c6ad03b380287015287d8d5a0fa2459e2332fd", + "url": "https://api.github.com/repos/laravel/framework/zipball/6b70133ea3552afc37307ffb85b9efa48dc187d1", + "reference": "6b70133ea3552afc37307ffb85b9efa48dc187d1", "shasum": "" }, "require": { @@ -2181,20 +2182,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2026-05-13T15:38:40+00:00" + "time": "2026-05-19T20:24:39+00:00" }, { "name": "laravel/horizon", - "version": "v5.46.0", + "version": "v5.47.0", "source": { "type": "git", "url": "https://github.com/laravel/horizon.git", - "reference": "bfea968e8aa674fb649d02e55ea0d38bdf5137d5" + "reference": "be74bc494f7a244d74f1c8ad6552f9b8621f10c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/horizon/zipball/bfea968e8aa674fb649d02e55ea0d38bdf5137d5", - "reference": "bfea968e8aa674fb649d02e55ea0d38bdf5137d5", + "url": "https://api.github.com/repos/laravel/horizon/zipball/be74bc494f7a244d74f1c8ad6552f9b8621f10c6", + "reference": "be74bc494f7a244d74f1c8ad6552f9b8621f10c6", "shasum": "" }, "require": { @@ -2259,9 +2260,9 @@ ], "support": { "issues": "https://github.com/laravel/horizon/issues", - "source": "https://github.com/laravel/horizon/tree/v5.46.0" + "source": "https://github.com/laravel/horizon/tree/v5.47.0" }, - "time": "2026-04-20T18:08:11+00:00" + "time": "2026-05-19T20:54:47+00:00" }, { "name": "laravel/nightwatch", @@ -2359,16 +2360,16 @@ }, { "name": "laravel/prompts", - "version": "v0.3.17", + "version": "v0.3.18", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "6a82ac19a28b916ae0885828795dbd4c59d9a818" + "reference": "a19af51bb144bf87f08397921fa619f85c7d4e72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/6a82ac19a28b916ae0885828795dbd4c59d9a818", - "reference": "6a82ac19a28b916ae0885828795dbd4c59d9a818", + "url": "https://api.github.com/repos/laravel/prompts/zipball/a19af51bb144bf87f08397921fa619f85c7d4e72", + "reference": "a19af51bb144bf87f08397921fa619f85c7d4e72", "shasum": "" }, "require": { @@ -2412,9 +2413,9 @@ "description": "Add beautiful and user-friendly forms to your command-line applications.", "support": { "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.3.17" + "source": "https://github.com/laravel/prompts/tree/v0.3.18" }, - "time": "2026-04-20T16:07:33+00:00" + "time": "2026-05-19T00:47:18+00:00" }, { "name": "laravel/sanctum", @@ -7071,16 +7072,16 @@ }, { "name": "spatie/laravel-package-tools", - "version": "1.93.0", + "version": "1.93.1", "source": { "type": "git", "url": "https://github.com/spatie/laravel-package-tools.git", - "reference": "0d097bce95b2bf6802fb1d83e1e753b0f5a948e7" + "reference": "d5552849801f2642aea710557463234b59ef65eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/0d097bce95b2bf6802fb1d83e1e753b0f5a948e7", - "reference": "0d097bce95b2bf6802fb1d83e1e753b0f5a948e7", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/d5552849801f2642aea710557463234b59ef65eb", + "reference": "d5552849801f2642aea710557463234b59ef65eb", "shasum": "" }, "require": { @@ -7120,7 +7121,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-package-tools/issues", - "source": "https://github.com/spatie/laravel-package-tools/tree/1.93.0" + "source": "https://github.com/spatie/laravel-package-tools/tree/1.93.1" }, "funding": [ { @@ -7128,7 +7129,7 @@ "type": "github" } ], - "time": "2026-02-21T12:49:54+00:00" + "time": "2026-05-19T14:06:37+00:00" }, { "name": "spatie/laravel-permission", @@ -13436,16 +13437,16 @@ }, { "name": "laravel-lang/starter-kits", - "version": "1.13.2", + "version": "1.13.3", "source": { "type": "git", "url": "https://github.com/Laravel-Lang/starter-kits.git", - "reference": "1b03951b21ec9cd49a276ce2be657020404c30e6" + "reference": "feb23f94cca310734372eb09eab4cf96baf2ef0f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Laravel-Lang/starter-kits/zipball/1b03951b21ec9cd49a276ce2be657020404c30e6", - "reference": "1b03951b21ec9cd49a276ce2be657020404c30e6", + "url": "https://api.github.com/repos/Laravel-Lang/starter-kits/zipball/feb23f94cca310734372eb09eab4cf96baf2ef0f", + "reference": "feb23f94cca310734372eb09eab4cf96baf2ef0f", "shasum": "" }, "require": { @@ -13497,7 +13498,7 @@ ], "support": { "issues": "https://github.com/Laravel-Lang/starter-kits/issues", - "source": "https://github.com/Laravel-Lang/starter-kits/tree/1.13.2" + "source": "https://github.com/Laravel-Lang/starter-kits/tree/1.13.3" }, "funding": [ { @@ -13509,20 +13510,20 @@ "type": "yoomoney" } ], - "time": "2026-04-28T18:30:10+00:00" + "time": "2026-05-18T13:39:52+00:00" }, { "name": "laravel/boost", - "version": "v2.4.6", + "version": "v2.4.8", "source": { "type": "git", "url": "https://github.com/laravel/boost.git", - "reference": "c9ea6368c66f7c0e6a9b26706b401de900cdb9ac" + "reference": "d11d720cf9537f8d236a11d973e99563a598ec9c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/boost/zipball/c9ea6368c66f7c0e6a9b26706b401de900cdb9ac", - "reference": "c9ea6368c66f7c0e6a9b26706b401de900cdb9ac", + "url": "https://api.github.com/repos/laravel/boost/zipball/d11d720cf9537f8d236a11d973e99563a598ec9c", + "reference": "d11d720cf9537f8d236a11d973e99563a598ec9c", "shasum": "" }, "require": { @@ -13531,7 +13532,7 @@ "illuminate/contracts": "^11.45.3|^12.41.1|^13.0", "illuminate/routing": "^11.45.3|^12.41.1|^13.0", "illuminate/support": "^11.45.3|^12.41.1|^13.0", - "laravel/mcp": "^0.5.1|^0.6.0|^0.7.0", + "laravel/mcp": "^0.5.1|^0.6.0|~0.7.0,<0.7.1", "laravel/prompts": "^0.3.10", "laravel/roster": "^0.5.0", "php": "^8.2" @@ -13575,7 +13576,7 @@ "issues": "https://github.com/laravel/boost/issues", "source": "https://github.com/laravel/boost" }, - "time": "2026-04-28T11:52:01+00:00" + "time": "2026-05-19T20:09:50+00:00" }, { "name": "laravel/mcp", @@ -16106,24 +16107,24 @@ }, { "name": "sebastian/lines-of-code", - "version": "4.0.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "97ffee3bcfb5805568d6af7f0f893678fc076d2f" + "reference": "d543b8ef219dcd8da262cbb958639a96bedba10e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/97ffee3bcfb5805568d6af7f0f893678fc076d2f", - "reference": "97ffee3bcfb5805568d6af7f0f893678fc076d2f", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d543b8ef219dcd8da262cbb958639a96bedba10e", + "reference": "d543b8ef219dcd8da262cbb958639a96bedba10e", "shasum": "" }, "require": { - "nikic/php-parser": "^5.0", + "nikic/php-parser": "^5.7.0", "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^12.0" + "phpunit/phpunit": "^12.5.25" }, "type": "library", "extra": { @@ -16152,15 +16153,27 @@ "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/4.0.0" + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/4.0.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/lines-of-code", + "type": "tidelift" } ], - "time": "2025-02-07T04:57:28+00:00" + "time": "2026-05-19T16:22:07+00:00" }, { "name": "sebastian/object-enumerator", diff --git a/config/livewire.php b/config/livewire.php index b0c5481..4a63396 100644 --- a/config/livewire.php +++ b/config/livewire.php @@ -131,7 +131,7 @@ return [ 'preview_mimes' => [ // Supported file types for temporary pre-signed file URLs... 'png', 'gif', 'bmp', 'svg', 'wav', 'mp4', 'mov', 'avi', 'wmv', 'mp3', 'm4a', - 'jpg', 'jpeg', 'mpga', 'webp', 'wma', + 'jpg', 'jpeg', 'mpga', 'webp', 'wma', 'avif', ], 'max_upload_time' => 5, // Max duration (in minutes) before an upload is invalidated... 'cleanup' => true, // Should cleanup temporary uploads older than 24 hrs... diff --git a/package.json b/package.json index d331af6..31de050 100644 --- a/package.json +++ b/package.json @@ -12,8 +12,8 @@ "concurrently": "^9.2.1", "laravel-vite-plugin": "^3.0.0", "leaflet": "^1.9.4", - "nostr-tools": "^2.17.4", - "shiki": "^4.0.0", + "nostr-tools": "^2.23.5", + "shiki": "^4.1.0", "tailwindcss": "^4.3.0", "vite": "^8.0.0" }, diff --git a/resources/views/livewire/courses/create.blade.php b/resources/views/livewire/courses/create.blade.php index 1fbe07d..bfeea88 100644 --- a/resources/views/livewire/courses/create.blade.php +++ b/resources/views/livewire/courses/create.blade.php @@ -14,7 +14,7 @@ class extends Component { use WithFileUploads; use SeoTrait; - #[Validate('image|mimes:jpeg,png,webp|max:5120|dimensions:max_width=4000,max_height=4000')] + #[Validate('image|mimes:jpeg,png,webp,avif|max:5120|dimensions:max_width=4000,max_height=4000')] public $logo; public string $name = ''; diff --git a/resources/views/livewire/courses/edit.blade.php b/resources/views/livewire/courses/edit.blade.php index c3817c8..b7fc7ab 100644 --- a/resources/views/livewire/courses/edit.blade.php +++ b/resources/views/livewire/courses/edit.blade.php @@ -16,7 +16,7 @@ class extends Component { use WithFileUploads; use SeoTrait; - #[Validate('image|mimes:jpeg,png,webp|max:5120|dimensions:max_width=4000,max_height=4000')] + #[Validate('image|mimes:jpeg,png,webp,avif|max:5120|dimensions:max_width=4000,max_height=4000')] public $logo; public Course $course; diff --git a/resources/views/livewire/lecturers/create.blade.php b/resources/views/livewire/lecturers/create.blade.php index baf2dd4..c0ba65d 100644 --- a/resources/views/livewire/lecturers/create.blade.php +++ b/resources/views/livewire/lecturers/create.blade.php @@ -13,7 +13,7 @@ class extends Component { use WithFileUploads; use SeoTrait; - #[Validate('image|mimes:jpeg,png,webp|max:5120|dimensions:max_width=4000,max_height=4000')] + #[Validate('image|mimes:jpeg,png,webp,avif|max:5120|dimensions:max_width=4000,max_height=4000')] public $avatar; public string $name = ''; diff --git a/resources/views/livewire/lecturers/edit.blade.php b/resources/views/livewire/lecturers/edit.blade.php index ce31d46..274e1fd 100644 --- a/resources/views/livewire/lecturers/edit.blade.php +++ b/resources/views/livewire/lecturers/edit.blade.php @@ -15,7 +15,7 @@ class extends Component { use WithFileUploads; use SeoTrait; - #[Validate('image|mimes:jpeg,png,webp|max:5120|dimensions:max_width=4000,max_height=4000')] + #[Validate('image|mimes:jpeg,png,webp,avif|max:5120|dimensions:max_width=4000,max_height=4000')] public $avatar; public Lecturer $lecturer; diff --git a/resources/views/livewire/meetups/create.blade.php b/resources/views/livewire/meetups/create.blade.php index 32dee23..0e16f63 100644 --- a/resources/views/livewire/meetups/create.blade.php +++ b/resources/views/livewire/meetups/create.blade.php @@ -15,7 +15,7 @@ class extends Component { use WithFileUploads; use SeoTrait; - #[Validate('image|mimes:jpeg,png,webp|max:5120|dimensions:max_width=4000,max_height=4000')] + #[Validate('image|mimes:jpeg,png,webp,avif|max:5120|dimensions:max_width=4000,max_height=4000')] public $logo; // Basic Information diff --git a/resources/views/livewire/meetups/edit.blade.php b/resources/views/livewire/meetups/edit.blade.php index 71d7025..f28a971 100644 --- a/resources/views/livewire/meetups/edit.blade.php +++ b/resources/views/livewire/meetups/edit.blade.php @@ -17,7 +17,7 @@ class extends Component { use WithFileUploads; use SeoTrait; - #[Validate('image|mimes:jpeg,png,webp|max:5120|dimensions:max_width=4000,max_height=4000')] + #[Validate('image|mimes:jpeg,png,webp,avif|max:5120|dimensions:max_width=4000,max_height=4000')] public $logo; public Meetup $meetup; diff --git a/tests/Feature/Livewire/AvifPreviewSupportTest.php b/tests/Feature/Livewire/AvifPreviewSupportTest.php new file mode 100644 index 0000000..aba4956 --- /dev/null +++ b/tests/Feature/Livewire/AvifPreviewSupportTest.php @@ -0,0 +1,25 @@ +toContain('avif'); +}); + +it('allows avif in the mimes validation of every image-upload component', function (string $relativePath) { + $contents = file_get_contents(resource_path($relativePath)); + + expect($contents)->toMatch('/#\[Validate\([^)]*mimes:[^|]*avif[^|]*[^)]*\)\]/'); +})->with([ + 'views/livewire/meetups/create.blade.php', + 'views/livewire/meetups/edit.blade.php', + 'views/livewire/courses/create.blade.php', + 'views/livewire/courses/edit.blade.php', + 'views/livewire/lecturers/create.blade.php', + 'views/livewire/lecturers/edit.blade.php', +]); diff --git a/yarn.lock b/yarn.lock index 3dc7c30..b91f49e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -198,61 +198,61 @@ "@noble/hashes" "2.0.1" "@scure/base" "2.0.0" -"@shikijs/core@4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@shikijs/core/-/core-4.0.2.tgz#386a00acc6965ced582e9066bfb237de7ee99174" - integrity sha512-hxT0YF4ExEqB8G/qFdtJvpmHXBYJ2lWW7qTHDarVkIudPFE6iCIrqdgWxGn5s+ppkGXI0aEGlibI0PAyzP3zlw== +"@shikijs/core@4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@shikijs/core/-/core-4.1.0.tgz#c7e9d0531f6339478c415168b375ad04b8f22ba6" + integrity sha512-jLJtSJeuFffqX6/inRE1zqU5aFv2hrszvYgq3OjbAgFRZiWv7abKMDdQzYxuSDfmUPQozZvI/kuy6VMTvnvqTQ== dependencies: - "@shikijs/primitive" "4.0.2" - "@shikijs/types" "4.0.2" + "@shikijs/primitive" "4.1.0" + "@shikijs/types" "4.1.0" "@shikijs/vscode-textmate" "^10.0.2" "@types/hast" "^3.0.4" hast-util-to-html "^9.0.5" -"@shikijs/engine-javascript@4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@shikijs/engine-javascript/-/engine-javascript-4.0.2.tgz#d49b766c23fb6e71c19b9a797ff5357c8a61db5e" - integrity sha512-7PW0Nm49DcoUIQEXlJhNNBHyoGMjalRETTCcjMqEaMoJRLljy1Bi/EGV3/qLBgLKQejdspiiYuHGQW6dX94Nag== +"@shikijs/engine-javascript@4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@shikijs/engine-javascript/-/engine-javascript-4.1.0.tgz#428383da53b89a1c2cf49d617c452591dac58bc2" + integrity sha512-YquhawCUgaBfhsS72e2Y/dI59gCBNPHu3fEO/tvLaXrTssxZrY5ddjtNLTwndrMgPo8b3IscE+xoICDzpTmlFQ== dependencies: - "@shikijs/types" "4.0.2" + "@shikijs/types" "4.1.0" "@shikijs/vscode-textmate" "^10.0.2" - oniguruma-to-es "^4.3.4" + oniguruma-to-es "^4.3.6" -"@shikijs/engine-oniguruma@4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@shikijs/engine-oniguruma/-/engine-oniguruma-4.0.2.tgz#41ed06adcc4a4e6f49e05643dfe0d772dbb19c2b" - integrity sha512-UpCB9Y2sUKlS9z8juFSKz7ZtysmeXCgnRF0dlhXBkmQnek7lAToPte8DkxmEYGNTMii72zU/lyXiCB6StuZeJg== +"@shikijs/engine-oniguruma@4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@shikijs/engine-oniguruma/-/engine-oniguruma-4.1.0.tgz#3f292d71028ada44756b23c3cb66b4e4517542d3" + integrity sha512-axLpjVs45YBvvINa+dJF+NPW+KtFkNXsFr4SDw2BMj9GdeMnGxVB9PQb2xXlJYovslt/nz6giedAyOANkfc7hg== dependencies: - "@shikijs/types" "4.0.2" + "@shikijs/types" "4.1.0" "@shikijs/vscode-textmate" "^10.0.2" -"@shikijs/langs@4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@shikijs/langs/-/langs-4.0.2.tgz#1ac31a223d74729cf230441f9bb7d7975384101f" - integrity sha512-KaXby5dvoeuZzN0rYQiPMjFoUrz4hgwIE+D6Du9owcHcl6/g16/yT5BQxSW5cGt2MZBz6Hl0YuRqf12omRfUUg== +"@shikijs/langs@4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@shikijs/langs/-/langs-4.1.0.tgz#3f1dc97d8d7b0caf17e854e3864b6ccf1c1c112d" + integrity sha512-nwOMruEkbgdZfQ/b8CgpNBVOpvG1k0N5tbmgiFeqsan401+x3ILqlzZJowSla4Agmq4hG2Uf2wh5jLTEhR8VSg== dependencies: - "@shikijs/types" "4.0.2" + "@shikijs/types" "4.1.0" -"@shikijs/primitive@4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@shikijs/primitive/-/primitive-4.0.2.tgz#4efa1efab1b828c20563c2097d2effa5ac79bf04" - integrity sha512-M6UMPrSa3fN5ayeJwFVl9qWofl273wtK1VG8ySDZ1mQBfhCpdd8nEx7nPZ/tk7k+TYcpqBZzj/AnwxT9lO+HJw== +"@shikijs/primitive@4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@shikijs/primitive/-/primitive-4.1.0.tgz#16418a0bfdae374d3675a3aa96e3bfec8a2d8b1f" + integrity sha512-zx2/2Uwj2q9X3KSyYREEhXO23xBw5WUhP4orK2lE4r+t9JGITmEe0JH+wPmJhqHpOT2bRRs6lAL945+LDvOAGw== dependencies: - "@shikijs/types" "4.0.2" + "@shikijs/types" "4.1.0" "@shikijs/vscode-textmate" "^10.0.2" "@types/hast" "^3.0.4" -"@shikijs/themes@4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@shikijs/themes/-/themes-4.0.2.tgz#24c5c059e89a8e7630fb40a240bc6b5a336bb080" - integrity sha512-mjCafwt8lJJaVSsQvNVrJumbnnj1RI8jbUKrPKgE6E3OvQKxnuRoBaYC51H4IGHePsGN/QtALglWBU7DoKDFnA== +"@shikijs/themes@4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@shikijs/themes/-/themes-4.1.0.tgz#8ad5be7eff1794ed72dc07766cb5fc6d164c9c18" + integrity sha512-emCcTnUM7yO2wltYbaxm+yLvcCI4+h8XBKc4KmJ7EZUXoSGjcCHifkI//R4OFit9ewpg7H2/9tjOuXrT2v/Knw== dependencies: - "@shikijs/types" "4.0.2" + "@shikijs/types" "4.1.0" -"@shikijs/types@4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@shikijs/types/-/types-4.0.2.tgz#75180a19acf124b37f48b53a9e6373de2e2e4f28" - integrity sha512-qzbeRooUTPnLE+sHD/Z8DStmaDgnbbc/pMrU203950aRqjX/6AFHeDYT+j00y2lPdz0ywJKx7o/7qnqTivtlXg== +"@shikijs/types@4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@shikijs/types/-/types-4.1.0.tgz#3dfbede55280906b5f1db34838da69ba72ee5c03" + integrity sha512-3EQWX54fMpniOrDblzAhiwiJwpiTMW6+B9DWyUd9ska483tbayFYuw47UxwuPknI31bKnySfVQ/QW+jFL4rFdA== dependencies: "@shikijs/vscode-textmate" "^10.0.2" "@types/hast" "^3.0.4" @@ -955,10 +955,10 @@ node-releases@^2.0.36: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.38.tgz#791569b9e4424a044e12c3abfad418ed83ce9947" integrity sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw== -nostr-tools@^2.17.4: - version "2.23.3" - resolved "https://registry.yarnpkg.com/nostr-tools/-/nostr-tools-2.23.3.tgz#1a7501988b72499cf27c8f3951f00d11d9ac6025" - integrity sha512-AALyt9k8xPdF4UV2mlLJ2mgCn4kpTB0DZ8t2r6wjdUh6anfx2cTVBsHUlo9U0EY/cKC5wcNyiMAmRJV5OVEalA== +nostr-tools@^2.23.5: + version "2.23.5" + resolved "https://registry.yarnpkg.com/nostr-tools/-/nostr-tools-2.23.5.tgz#46fa68a35cf6e918c4f59208a2ed7585c72a68a0" + integrity sha512-Fa7ZlUdjfUW1P4E7H3yBexhOHYi18XNyvd2n7eNHkYR085xADX6Y8V8Vm7nT/XQajaFOBrptXmVIGkJ2E4vfVw== dependencies: "@noble/ciphers" "2.1.1" "@noble/curves" "2.0.1" @@ -978,7 +978,7 @@ oniguruma-parser@^0.12.2: resolved "https://registry.yarnpkg.com/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz#e27ca446f7fcf0969662a3ab9b4f43176d62b139" integrity sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw== -oniguruma-to-es@^4.3.4: +oniguruma-to-es@^4.3.6: version "4.3.6" resolved "https://registry.yarnpkg.com/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz#43e640280241b0d687a314e7a641d476407a1c4d" integrity sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA== @@ -1100,17 +1100,17 @@ shell-quote@1.8.3: resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.3.tgz#55e40ef33cf5c689902353a3d8cd1a6725f08b4b" integrity sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw== -shiki@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/shiki/-/shiki-4.0.2.tgz#d81495df11e1cb8a05907310a6d051e054435586" - integrity sha512-eAVKTMedR5ckPo4xne/PjYQYrU3qx78gtJZ+sHlXEg5IHhhoQhMfZVzetTYuaJS0L2Ef3AcCRzCHV8T0WI6nIQ== +shiki@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/shiki/-/shiki-4.1.0.tgz#4cc1cf75f350b41419708cb03bcf2c7b8ccb4550" + integrity sha512-l/ABZPUR5v70jI10EzqfMS/I96vjSGv2y0ihUV+WYFzv0EfvW4s54m0Lg8wCrrL+2IkwBzFTuxkZjPf8b2NX9Q== dependencies: - "@shikijs/core" "4.0.2" - "@shikijs/engine-javascript" "4.0.2" - "@shikijs/engine-oniguruma" "4.0.2" - "@shikijs/langs" "4.0.2" - "@shikijs/themes" "4.0.2" - "@shikijs/types" "4.0.2" + "@shikijs/core" "4.1.0" + "@shikijs/engine-javascript" "4.1.0" + "@shikijs/engine-oniguruma" "4.1.0" + "@shikijs/langs" "4.1.0" + "@shikijs/themes" "4.1.0" + "@shikijs/types" "4.1.0" "@shikijs/vscode-textmate" "^10.0.2" "@types/hast" "^3.0.4"