diff --git a/.env.example b/.env.example index 4a04664b..53f86fd9 100644 --- a/.env.example +++ b/.env.example @@ -88,3 +88,11 @@ TELESCOPE_ENABLED= # MATOMO MATOMO_SITE_ID= + +# MEILISEARCH +MEILISEARCH_HOST= +MEILISEARCH_KEY= + +# LARAVEL SCOUT +SCOUT_PREFIX='' +SCOUT_QUEUE= diff --git a/app/Enums/StaticPageType.php b/app/Enums/StaticPageType.php index 550bb7b6..efe214d8 100644 --- a/app/Enums/StaticPageType.php +++ b/app/Enums/StaticPageType.php @@ -27,6 +27,7 @@ enum StaticPageType: int case breedingJob = 17; case breedingFood = 18; case breedingHealth = 19; + case search = 20; /** * Optionnal labels definition. @@ -47,12 +48,13 @@ enum StaticPageType: int self::home->name => 'Accueil', self::selling->name => 'Conditions générales de vente', self::accessibility->name => 'Accessibilité', + self::news->name => 'Actualités', + self::social->name => 'Réseaux sociaux', self::breedingPoultry->name => 'L\'élevage des volailles', self::breedingJob->name => 'Le métier d\'éleveur de volailles', self::breedingFood->name => 'L\'alimentation des volailles', self::breedingHealth->name => 'La santé des volailles', - self::news->name => 'Actualités', - self::social->name => 'Réseaux sociaux', + self::search->name => 'Recherche', ]; /** diff --git a/app/Http/Controllers/Fo/ProductController.php b/app/Http/Controllers/Fo/ProductController.php index d7adb5f5..03ec1ec7 100644 --- a/app/Http/Controllers/Fo/ProductController.php +++ b/app/Http/Controllers/Fo/ProductController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers\Fo; use App\Enums\StaticPageType; use App\Http\Controllers\Controller; +use App\Lib\Helpers\CollectionHelper; use App\Models\Meat; use App\Models\Product; use App\Models\Range; @@ -54,7 +55,11 @@ class ProductController extends Controller $meatModels = Meat::getPublishedOrderedWithSubmeats(); $submeatModels = $submeatModelsFiltered ?? Submeat::getPublishedOrdered(); return view('fo.pages.products.index', [ - 'viewsPaginate' => $this->getViewsFromPaginateModels($productModels), + 'viewsPaginate' => CollectionHelper::getViewsFromPaginateModels( + $productModels, + 'fo.partials.product-card', + 'model' + ), 'productDiscoverModels' => $productDiscoverModels, 'staticPageModel' => $staticPageModel, 'rangeModels' => $rangeModels, @@ -182,8 +187,7 @@ class ProductController extends Controller */ public function getProductModelsTitles(string|null $search = null): \Illuminate\Pagination\LengthAwarePaginator { - $query = Product::query(); - return $this->getModelsTitles($query, 'label', $search); + return $this->getModelsTitles(Product::query(), 'label', $search); } /** @@ -226,7 +230,11 @@ class ProductController extends Controller if ($request->ajax()) { return response()->json([ - 'viewsPaginate' => $this->getViewsFromPaginateModels($productModels), + 'viewsPaginate' => CollectionHelper::getViewsFromPaginateModels( + $productModels, + 'fo.partials.product-card', + 'model' + ), 'children' => [], ]); } @@ -276,7 +284,11 @@ class ProductController extends Controller if ($request->ajax()) { return response()->json([ - 'viewsPaginate' => $this->getViewsFromPaginateModels($productModels), + 'viewsPaginate' => CollectionHelper::getViewsFromPaginateModels( + $productModels, + 'fo.partials.product-card', + 'model' + ), 'children' => $subrangeModels, 'productModels' => $productModels, ]); @@ -330,7 +342,11 @@ class ProductController extends Controller if ($request->ajax()) { return response()->json([ 'productModels' => $productModels, - 'viewsPaginate' => $this->getViewsFromPaginateModels($productModels), + 'viewsPaginate' => CollectionHelper::getViewsFromPaginateModels( + $productModels, + 'fo.partials.product-card', + 'model' + ), 'children' => $subrangeModels, ]); } @@ -373,7 +389,11 @@ class ProductController extends Controller ->paginate($this->productModelsPerPage); if ($request->ajax()) { return response()->json([ - 'viewsPaginate' => $this->getViewsFromPaginateModels($productModels), + 'viewsPaginate' => CollectionHelper::getViewsFromPaginateModels( + $productModels, + 'fo.partials.product-card', + 'model' + ), 'children' => $submeatModels, ]); } @@ -421,7 +441,11 @@ class ProductController extends Controller ->paginate($this->productModelsPerPage); if ($request->ajax()) { return response()->json([ - 'viewsPaginate' => $this->getViewsFromPaginateModels($productModels), + 'viewsPaginate' => CollectionHelper::getViewsFromPaginateModels( + $productModels, + 'fo.partials.product-card', + 'model' + ), 'children' => $submeatModels, ]); } @@ -529,20 +553,6 @@ class ProductController extends Controller return $recipeModels->slice(0, $nbrMaxRecipes); } - /** - * Get an array of views for each product models given. - * - * @param \Illuminate\Contracts\Pagination\LengthAwarePaginator $productModels - * @return array - */ - public function getViewsFromPaginateModels(LengthAwarePaginator $productModels): array - { - // @phpstan-ignore-next-line - return $productModels->through(function ($productModel) { - return view('fo.partials.product-card', ['model' => $productModel])->render(); - })->toArray(); - } - /** * Get products by a specific range into a json response. * diff --git a/app/Http/Controllers/Fo/RecipeController.php b/app/Http/Controllers/Fo/RecipeController.php index 72bb33ba..37e3d329 100644 --- a/app/Http/Controllers/Fo/RecipeController.php +++ b/app/Http/Controllers/Fo/RecipeController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Fo; use App\Enums\StaticPageType; use App\Http\Controllers\Controller; use App\Http\Resources\Fo\Recipes\RecipeCommericalSheetResource; +use App\Lib\Helpers\CollectionHelper; use App\Models\ConsumptionMoment; use App\Models\Meat; use Illuminate\Database\Eloquent\Builder; @@ -51,7 +52,11 @@ class RecipeController extends Controller Submeat::getPublishedOrdered(); return view('fo.pages.recipes.index', [ - 'viewsPaginate' => $this->getViewsFromPaginateModels($recipeModels), + 'viewsPaginate' => CollectionHelper::getViewsFromPaginateModels( + $recipeModels, + 'fo.partials.recipe-card', + 'model' + ), 'recipeModel' => $recipeModel, 'staticPageModel' => $staticPageModel, 'consumptionMomentModels' => $consumptionMomentModels, @@ -140,7 +145,11 @@ class RecipeController extends Controller if ($request->ajax()) { return response()->json([ - 'viewsPaginate' => $this->getViewsFromPaginateModels($recipeModels), + 'viewsPaginate' => CollectionHelper::getViewsFromPaginateModels( + $recipeModels, + 'fo.partials.recipe-card', + 'model' + ), 'children' => [], ]); } @@ -170,7 +179,11 @@ class RecipeController extends Controller ->paginate($this->recipeModelsPerPage); if ($request->ajax()) { return response()->json([ - 'viewsPaginate' => $this->getViewsFromPaginateModels($recipeModels), + 'viewsPaginate' => CollectionHelper::getViewsFromPaginateModels( + $recipeModels, + 'fo.partials.recipe-card', + 'model' + ), 'children' => [], ]); } @@ -214,7 +227,11 @@ class RecipeController extends Controller ->paginate($this->recipeModelsPerPage); if ($request->ajax()) { return response()->json([ - 'viewsPaginate' => $this->getViewsFromPaginateModels($recipeModels), + 'viewsPaginate' => CollectionHelper::getViewsFromPaginateModels( + $recipeModels, + 'fo.partials.recipe-card', + 'model' + ), 'children' => $submeatModels, ]); } @@ -264,27 +281,17 @@ class RecipeController extends Controller ->paginate($this->recipeModelsPerPage); if ($request->ajax()) { return response()->json([ - 'viewsPaginate' => $this->getViewsFromPaginateModels($recipeModels), + 'viewsPaginate' => CollectionHelper::getViewsFromPaginateModels( + $recipeModels, + 'fo.partials.recipe-card', + 'model' + ), 'children' => [], ]); } return $this->index($recipeModels, $submeatModels); } - /** - * Get an array of views for each recipe models given. - * - * @param \Illuminate\Contracts\Pagination\LengthAwarePaginator $recipeModels - * @return array - */ - public function getViewsFromPaginateModels(LengthAwarePaginator $recipeModels): array - { - // @phpstan-ignore-next-line - return $recipeModels->through(function ($recipeModel) { - return view('fo.partials.recipe-card', ['model' => $recipeModel])->render(); - })->toArray(); - } - /** * Get recipes by a selected recipe model, * filtered first by products associated, diff --git a/app/Http/Controllers/Fo/SearchController.php b/app/Http/Controllers/Fo/SearchController.php new file mode 100644 index 00000000..9ff738e8 --- /dev/null +++ b/app/Http/Controllers/Fo/SearchController.php @@ -0,0 +1,101 @@ +input('texte'); + return view('fo.pages.search', [ + 'staticPageModel' => StaticPage::getCachedStaticPage(StaticPageType::search), + 'productModels' => $this->getResultFromMeilisearch($searchString, 'App\Models\Product'), + 'recipeModels' => $this->getResultFromMeilisearch($searchString, 'App\Models\Recipe'), + 'newsModels' => $this->getResultFromMeilisearch($searchString, 'App\Models\News'), + 'newsBreedingModels' => $this->getResultFromMeilisearch($searchString, 'App\Models\NewsBreeding'), + ]); + } + + /** + * Search string on multiple models. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\JsonResponse + */ + public function searchString(Request $request): \Illuminate\Http\JsonResponse + { + $search = $request->input('texte'); + $page = $request->input('page'); + $results = collect($request->models)->map(function (string $model) use ($search, $page) { + return $this->getResultFromMeilisearch($search, $model, $page); + }); + return response()->json($results); + } + + /** + * Search string on multiple models. + * + * @param string|null $search + * @param string $class + * @param integer $itemsPerPage + * @param integer $page + * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator + */ + public function getResultFromMeilisearch( + string|null $search, + string $className, + int $page = 1 + ): \Illuminate\Contracts\Pagination\LengthAwarePaginator { + $models = $className::search($search) + ->where('published', true) + ->paginateRaw(perPage: 4, page: $page); + return $this->getViewsFromMeilisearchPagination($models, $className); + } + + /** + * Search string on multiple models. + * + * @param \Illuminate\Contracts\Pagination\LengthAwarePaginator $models + * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator + */ + public function getViewsFromMeilisearchPagination( + LengthAwarePaginator $models, + string $className + ): \Illuminate\Contracts\Pagination\LengthAwarePaginator { + $models['hits'] = collect($models['hits'])->map(function ($model) use ($className) { + $class = new $className(); + return $class->forceFill($model); + }); + $models['hits'] = CollectionHelper::getViewsFromCollection( + $models['hits'], + "fo.partials.{$this->transformClassNameToSnakeCase($className)}-card", + 'model' + ); + return $models; + } + + /** + * Transform class name to snake case. + * + * @param string $className + * @return string + */ + public function transformClassNameToSnakeCase($className): string + { + return Str::lower(preg_replace('/(?type->equals(StaticPageType::recipe) && !$staticPageModel->type->equals(StaticPageType::product) && !$staticPageModel->type->equals(StaticPageType::home) && - !$staticPageModel->type->equals(StaticPageType::contact) + !$staticPageModel->type->equals(StaticPageType::contact) && + !$staticPageModel->type->equals(StaticPageType::search) ) { $rules = \array_merge( $rules, diff --git a/app/Interfaces/Notifiable.php b/app/Interfaces/Notifiable.php index db304449..45343ac5 100644 --- a/app/Interfaces/Notifiable.php +++ b/app/Interfaces/Notifiable.php @@ -2,8 +2,6 @@ namespace App\Interfaces; -use Illuminate\Database\Eloquent\Relations\MorphOne; - interface Notifiable { /** @@ -11,5 +9,5 @@ interface Notifiable * * @return \Illuminate\Database\Eloquent\Relations\MorphOne */ - public function notifiable(): MorphOne; + public function notifiable(): \Illuminate\Database\Eloquent\Relations\MorphOne; } diff --git a/app/Lib/Helpers/CollectionHelper.php b/app/Lib/Helpers/CollectionHelper.php index bbb51aba..98ec89cf 100644 --- a/app/Lib/Helpers/CollectionHelper.php +++ b/app/Lib/Helpers/CollectionHelper.php @@ -69,4 +69,35 @@ class CollectionHelper 'options' => $options ]); } + + /** + * Get an array of views for each recipe models given. + * + * @param \Illuminate\Contracts\Pagination\LengthAwarePaginator $models + * @param string $path + * @param string $key + * @return array + */ + public static function getViewsFromPaginateModels(LengthAwarePaginator $models, string $path, string $key): array + { + // @phpstan-ignore-next-line + return $models->through(function ($model) use ($path, $key) { + return view($path, [$key => $model])->render(); + })->toArray(); + } + + /** + * Get an array of views for each item in collection given. + * + * @param \Illuminate\Support\Collection $collection + * @param string $path + * @param string $key + * @return array + */ + public static function getViewsFromCollection(Collection $collection, string $path, string $key): array + { + return $collection->map(function ($item) use ($path, $key) { + return view($path, [$key => $item])->render(); + })->toArray(); + } } diff --git a/app/Models/News.php b/app/Models/News.php index 8db3932d..e65e6be5 100644 --- a/app/Models/News.php +++ b/app/Models/News.php @@ -12,11 +12,10 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Session; use Illuminate\Support\Str; +use Laravel\Scout\Searchable; use Spatie\Sitemap\Contracts\Sitemapable; -use Spatie\Sitemap\Tags\Url; use Uwil\SitemapGenerator\Lib\SitemapHelper; - /** * @property string $seo_title The seo title of the news. * @property string $seo_description The seo description of the news. @@ -42,6 +41,7 @@ class News extends Model implements Sitemapable { use ActivityLog; use HasFactory; + use Searchable; /** * The attributes that are mass assignable. @@ -80,6 +80,16 @@ class News extends Model implements Sitemapable 'highlight' => 'boolean', ]; + /** + * Get model's setting to apply on scout search (meilisearch). + * + * @return array + */ + public static $searchSettings = [ + 'filterableAttributes' => ['title', 'content', 'published'], + 'sortableAttributes' => ['title', 'content'] + ]; + /** * Perform any actions required after the model boots. * @@ -269,7 +279,7 @@ class News extends Model implements Sitemapable ->orderByDesc('created_at') ->paginate($detect->isMobile() ? 3 : 6) ->through(function ($newsModel) { - return view('fo.partials.news-card', ['newsModel' => $newsModel])->render(); + return view('fo.partials.news-card', ['model' => $newsModel])->render(); }); } @@ -298,16 +308,16 @@ class News extends Model implements Sitemapable ->orderByDesc('created_at') ->paginate($detect->isMobile() ? 4 : 12) ->through(function ($socialModel) { - return view('fo.partials.news-card', ['newsModel' => $socialModel])->render(); + return view('fo.partials.news-card', ['model' => $socialModel])->render(); }); } /** - * toSitemapTag method + * To sitemap tag . * - * @return Url|string|array + * @return \Spatie\Sitemap\Tags\Url|string|array */ - public function toSitemapTag(): Url | string | array + public function toSitemapTag(): \Spatie\Sitemap\Tags\Url|string|array { $model = $this; $route = 'fo.news.show'; @@ -315,6 +325,16 @@ class News extends Model implements Sitemapable return SitemapHelper::generateUrl($route, $params, $model); } + /** + * Determine if the model should be searchable. + * + * @return boolean + */ + public function shouldBeSearchable(): bool + { + return $this->published === true; + } + // * RELATIONS /** diff --git a/app/Models/NewsBreeding.php b/app/Models/NewsBreeding.php index ddf12970..99691df8 100644 --- a/app/Models/NewsBreeding.php +++ b/app/Models/NewsBreeding.php @@ -10,6 +10,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Str; +use Laravel\Scout\Searchable; /** * @property string $title The title of the bredding news. @@ -31,6 +32,7 @@ class NewsBreeding extends Model { use ActivityLog; use HasFactory; + use Searchable; /** * The attributes that are mass assignable. @@ -66,6 +68,16 @@ class NewsBreeding extends Model 'associated_page' => StaticPageType::class, ]; + /** + * Get model's setting to apply on scout search (meilisearch). + * + * @return array + */ + public static $searchSettings = [ + 'filterableAttributes' => ['title', 'content', 'published'], + 'sortableAttributes' => ['title', 'content'] + ]; + /** * Perform any actions required after the model boots. * diff --git a/app/Models/Product.php b/app/Models/Product.php index 0c413f05..42f4ea77 100644 --- a/app/Models/Product.php +++ b/app/Models/Product.php @@ -5,19 +5,18 @@ namespace App\Models; use App\Lib\Helpers\FileStorageHelper; use App\Lib\Helpers\ToolboxHelper; use App\Traits\Models\ActivityLog; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; -use Illuminate\Support\Str; -use Illuminate\Database\Eloquent\Builder; use Illuminate\Support\Facades\Cache; -use Uwil\Seo\Laravel\Interfaces\SeoInterface; -use Uwil\Seo\Laravel\Traits\SeoTrait; -use Uwil\Seo\Laravel\Objects\SeoItem; +use Illuminate\Support\Str; +use Laravel\Scout\Searchable; use Spatie\Sitemap\Contracts\Sitemapable; -use Spatie\Sitemap\Tags\Url; +use Uwil\Seo\Laravel\Interfaces\SeoInterface; +use Uwil\Seo\Laravel\Objects\SeoItem; +use Uwil\Seo\Laravel\Traits\SeoTrait; use Uwil\SitemapGenerator\Lib\SitemapHelper; - /** * @property string $seo_title Product seo title. * @property string $seo_description Product seo description. @@ -52,6 +51,7 @@ class Product extends Model implements SeoInterface, Sitemapable use ActivityLog; use HasFactory; use SeoTrait; + use Searchable; /** * The attributes that are mass assignable. @@ -98,6 +98,16 @@ class Product extends Model implements SeoInterface, Sitemapable 'published' => 'boolean', ]; + /** + * Get model's setting to apply on scout search (meilisearch). + * + * @return array + */ + public static $searchSettings = [ + 'filterableAttributes' => ['label', 'description', 'preparation', 'ingredients', 'published'], + 'sortableAttributes' => ['label', 'description', 'preparation', 'ingredients'] + ]; + /** * Perform any actions required after the model boots. * @@ -232,14 +242,21 @@ class Product extends Model implements SeoInterface, Sitemapable /** * toSitemapTag method * - * @return Url|string|array + * @return \Spatie\Sitemap\Tags\Url|string|array */ - public function toSitemapTag(): Url | string | array + public function toSitemapTag(): \Spatie\Sitemap\Tags\Url|string|array { - $model = $this; - $route = 'fo.products.show'; - $params = ['slug' => $model->slug]; - return SitemapHelper::generateUrl($route, $params, $model); + return SitemapHelper::generateUrl('fo.products.show', ['slug' => $this->slug], $this); + } + + /** + * Determine if the model should be searchable. + * + * @return boolean + */ + public function shouldBeSearchable(): bool + { + return $this->published === true; } // * RELATIONSHIPS diff --git a/app/Models/Recipe.php b/app/Models/Recipe.php index 9455a494..09bb3f6f 100644 --- a/app/Models/Recipe.php +++ b/app/Models/Recipe.php @@ -10,11 +10,11 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Str; +use Laravel\Scout\Searchable; use Uwil\Seo\Laravel\Interfaces\SeoInterface; use Uwil\Seo\Laravel\Traits\SeoTrait; use Uwil\Seo\Laravel\Objects\SeoItem; use Spatie\Sitemap\Contracts\Sitemapable; -use Spatie\Sitemap\Tags\Url; use Uwil\SitemapGenerator\Lib\SitemapHelper; /** @@ -44,6 +44,7 @@ class Recipe extends Model implements SeoInterface, Sitemapable use ActivityLog; use HasFactory; use SeoTrait; + use Searchable; /** * The attributes that are mass assignable. @@ -85,6 +86,16 @@ class Recipe extends Model implements SeoInterface, Sitemapable 'published' => 'boolean', ]; + /** + * Get model's setting to apply on scout search (meilisearch). + * + * @return array + */ + public static $searchSettings = [ + 'filterableAttributes' => ['title', 'preparation', 'advice', 'published'], + 'sortableAttributes' => ['title', 'preparation', 'advice'] + ]; + /** * Perform any actions required after the model boots. * @@ -239,14 +250,21 @@ class Recipe extends Model implements SeoInterface, Sitemapable /** * toSitemapTag method * - * @return Url|string|array + * @return \Spatie\Sitemap\Tags\Url|string|array */ - public function toSitemapTag(): Url | string | array + public function toSitemapTag(): \Spatie\Sitemap\Tags\Url|string|array { - $model = $this; - $route = 'fo.recipes.show'; - $params = ['slug' => $model->slug]; - return SitemapHelper::generateUrl($route, $params, $model); + return SitemapHelper::generateUrl('fo.recipes.show', ['slug' => $this->slug], $this); + } + + /** + * Determine if the model should be searchable. + * + * @return boolean + */ + public function shouldBeSearchable(): bool + { + return $this->published === true; } // * RELATIONSHIPS diff --git a/app/Providers/ViewServiceProvider.php b/app/Providers/ViewServiceProvider.php index 21600892..b5c857a9 100644 --- a/app/Providers/ViewServiceProvider.php +++ b/app/Providers/ViewServiceProvider.php @@ -130,6 +130,7 @@ class ViewServiceProvider extends ServiceProvider ['name' => 'breedingFoodStaticPageModel', 'value' => StaticPage::getCachedStaticPage(StaticPageType::breedingFood)], ['name' => 'breedingHealthStaticPageModel', 'value' => StaticPage::getCachedStaticPage(StaticPageType::breedingHealth)], ['name' => 'newsStaticPageModel', 'value' => StaticPage::getCachedStaticPage(StaticPageType::news)], + ['name' => 'searchStaticPageModel', 'value' => StaticPage::getCachedStaticPage(StaticPageType::search)], ])->map(function ($array) { View::share($array['name'], (function () use ($array) { return $array['value'] ?: null; diff --git a/composer.json b/composer.json index f8541b13..063a70b7 100644 --- a/composer.json +++ b/composer.json @@ -19,12 +19,15 @@ "carlos-meneses/laravel-mpdf": "^2.1", "diglactic/laravel-breadcrumbs": "^9.0", "guzzlehttp/guzzle": "^7.2", + "http-interop/http-factory-guzzle": "^1.2", "laravel/framework": "^11.0", "laravel/octane": "^2.5", + "laravel/scout": "^10.11", "laravel/tinker": "^2.8", "laravel/ui": "^4.2", "ldc/ldccrmv4client": "^4.0", "league/csv": "^9.16", + "meilisearch/meilisearch-php": "^1.11", "mews/purifier": "^3.4", "mobiledetect/mobiledetectlib": "^4.8", "moneyphp/money": "^4.5", diff --git a/composer.lock b/composer.lock index 6e96768b..1dfb1b85 100644 --- a/composer.lock +++ b/composer.lock @@ -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": "e8390ee3eeffd11689c8adfff69db8f2", + "content-hash": "e7decd2630ba2accff59232853f18e2b", "packages": [ { "name": "24slides/laravel-saml2", @@ -297,12 +297,12 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "Mccarlosen\\LaravelMpdf\\LaravelMpdfServiceProvider" - ], "aliases": { "PDF": "Mccarlosen\\LaravelMpdf\\Facades\\LaravelMpdf" - } + }, + "providers": [ + "Mccarlosen\\LaravelMpdf\\LaravelMpdfServiceProvider" + ] } }, "autoload": { @@ -438,12 +438,12 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "Diglactic\\Breadcrumbs\\ServiceProvider" - ], "aliases": { "Breadcrumbs": "Diglactic\\Breadcrumbs\\Breadcrumbs" - } + }, + "providers": [ + "Diglactic\\Breadcrumbs\\ServiceProvider" + ] } }, "autoload": { @@ -809,16 +809,16 @@ }, { "name": "egulias/email-validator", - "version": "4.0.2", + "version": "4.0.3", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e" + "reference": "b115554301161fa21467629f1e1391c1936de517" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ebaaf5be6c0286928352e054f2d5125608e5405e", - "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/b115554301161fa21467629f1e1391c1936de517", + "reference": "b115554301161fa21467629f1e1391c1936de517", "shasum": "" }, "require": { @@ -864,7 +864,7 @@ ], "support": { "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/4.0.2" + "source": "https://github.com/egulias/EmailValidator/tree/4.0.3" }, "funding": [ { @@ -872,7 +872,7 @@ "type": "github" } ], - "time": "2023-10-06T06:47:41+00:00" + "time": "2024-12-27T00:36:43+00:00" }, { "name": "ezyang/htmlpurifier", @@ -1061,16 +1061,16 @@ }, { "name": "giggsey/libphonenumber-for-php-lite", - "version": "8.13.49", + "version": "8.13.52", "source": { "type": "git", "url": "https://github.com/giggsey/libphonenumber-for-php-lite.git", - "reference": "f2bc102ccd614fde128b463273ce9843e14bf430" + "reference": "9d48e4e112d4a24d46a5fb7c65d000ca3d3faac1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php-lite/zipball/f2bc102ccd614fde128b463273ce9843e14bf430", - "reference": "f2bc102ccd614fde128b463273ce9843e14bf430", + "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php-lite/zipball/9d48e4e112d4a24d46a5fb7c65d000ca3d3faac1", + "reference": "9d48e4e112d4a24d46a5fb7c65d000ca3d3faac1", "shasum": "" }, "require": { @@ -1140,7 +1140,7 @@ "issues": "https://github.com/giggsey/libphonenumber-for-php-lite/issues", "source": "https://github.com/giggsey/libphonenumber-for-php-lite" }, - "time": "2024-11-04T10:42:41+00:00" + "time": "2024-12-13T09:11:09+00:00" }, { "name": "graham-campbell/result-type", @@ -1615,6 +1615,64 @@ ], "time": "2023-12-03T19:50:20+00:00" }, + { + "name": "http-interop/http-factory-guzzle", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/http-interop/http-factory-guzzle.git", + "reference": "8f06e92b95405216b237521cc64c804dd44c4a81" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/http-interop/http-factory-guzzle/zipball/8f06e92b95405216b237521cc64c804dd44c4a81", + "reference": "8f06e92b95405216b237521cc64c804dd44c4a81", + "shasum": "" + }, + "require": { + "guzzlehttp/psr7": "^1.7||^2.0", + "php": ">=7.3", + "psr/http-factory": "^1.0" + }, + "provide": { + "psr/http-factory-implementation": "^1.0" + }, + "require-dev": { + "http-interop/http-factory-tests": "^0.9", + "phpunit/phpunit": "^9.5" + }, + "suggest": { + "guzzlehttp/psr7": "Includes an HTTP factory starting in version 2.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Http\\Factory\\Guzzle\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "An HTTP Factory using Guzzle PSR7", + "keywords": [ + "factory", + "http", + "psr-17", + "psr-7" + ], + "support": { + "issues": "https://github.com/http-interop/http-factory-guzzle/issues", + "source": "https://github.com/http-interop/http-factory-guzzle/tree/1.2.0" + }, + "time": "2021-07-21T13:50:14+00:00" + }, { "name": "intervention/gif", "version": "4.2.0", @@ -1685,16 +1743,16 @@ }, { "name": "intervention/image", - "version": "3.9.1", + "version": "3.10.2", "source": { "type": "git", "url": "https://github.com/Intervention/image.git", - "reference": "b496d1f6b9f812f96166623358dfcafb8c3b1683" + "reference": "1c68e5fdf443374f3580c5b920a7f177eccdab85" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Intervention/image/zipball/b496d1f6b9f812f96166623358dfcafb8c3b1683", - "reference": "b496d1f6b9f812f96166623358dfcafb8c3b1683", + "url": "https://api.github.com/repos/Intervention/image/zipball/1c68e5fdf443374f3580c5b920a7f177eccdab85", + "reference": "1c68e5fdf443374f3580c5b920a7f177eccdab85", "shasum": "" }, "require": { @@ -1704,8 +1762,8 @@ }, "require-dev": { "mockery/mockery": "^1.6", - "phpstan/phpstan": "^1", - "phpunit/phpunit": "^10.0", + "phpstan/phpstan": "^2", + "phpunit/phpunit": "^10.0 || ^11.0", "slevomat/coding-standard": "~8.0", "squizlabs/php_codesniffer": "^3.8" }, @@ -1741,7 +1799,7 @@ ], "support": { "issues": "https://github.com/Intervention/image/issues", - "source": "https://github.com/Intervention/image/tree/3.9.1" + "source": "https://github.com/Intervention/image/tree/3.10.2" }, "funding": [ { @@ -1757,32 +1815,32 @@ "type": "ko_fi" } ], - "time": "2024-10-27T10:15:54+00:00" + "time": "2025-01-04T07:31:37+00:00" }, { "name": "jean85/pretty-package-versions", - "version": "2.0.6", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/Jean85/pretty-package-versions.git", - "reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4" + "reference": "3c4e5f62ba8d7de1734312e4fff32f67a8daaf10" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/f9fdd29ad8e6d024f52678b570e5593759b550b4", - "reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4", + "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/3c4e5f62ba8d7de1734312e4fff32f67a8daaf10", + "reference": "3c4e5f62ba8d7de1734312e4fff32f67a8daaf10", "shasum": "" }, "require": { - "composer-runtime-api": "^2.0.0", - "php": "^7.1|^8.0" + "composer-runtime-api": "^2.1.0", + "php": "^7.4|^8.0" }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.2", "jean85/composer-provided-replaced-stub-package": "^1.0", "phpstan/phpstan": "^1.4", - "phpunit/phpunit": "^7.5|^8.5|^9.4", - "vimeo/psalm": "^4.3" + "phpunit/phpunit": "^7.5|^8.5|^9.6", + "vimeo/psalm": "^4.3 || ^5.0" }, "type": "library", "extra": { @@ -1814,9 +1872,9 @@ ], "support": { "issues": "https://github.com/Jean85/pretty-package-versions/issues", - "source": "https://github.com/Jean85/pretty-package-versions/tree/2.0.6" + "source": "https://github.com/Jean85/pretty-package-versions/tree/2.1.0" }, - "time": "2024-03-08T09:58:59+00:00" + "time": "2024-11-18T16:19:46+00:00" }, { "name": "kwaadpepper/image-resizer", @@ -1921,8 +1979,8 @@ "type": "library", "extra": { "laminas": { - "config-provider": "Laminas\\Diactoros\\ConfigProvider", - "module": "Laminas\\Diactoros" + "module": "Laminas\\Diactoros", + "config-provider": "Laminas\\Diactoros\\ConfigProvider" } }, "autoload": { @@ -1970,23 +2028,23 @@ }, { "name": "laravel/framework", - "version": "v11.31.0", + "version": "v11.37.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "365090ed2c68244e3141cdb5e247cdf3dfba2c40" + "reference": "6cb103d2024b087eae207654b3f4b26646119ba5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/365090ed2c68244e3141cdb5e247cdf3dfba2c40", - "reference": "365090ed2c68244e3141cdb5e247cdf3dfba2c40", + "url": "https://api.github.com/repos/laravel/framework/zipball/6cb103d2024b087eae207654b3f4b26646119ba5", + "reference": "6cb103d2024b087eae207654b3f4b26646119ba5", "shasum": "" }, "require": { "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12", "composer-runtime-api": "^2.2", "doctrine/inflector": "^2.0.5", - "dragonmantank/cron-expression": "^3.3.2", + "dragonmantank/cron-expression": "^3.4", "egulias/email-validator": "^3.2.1|^4.0", "ext-ctype": "*", "ext-filter": "*", @@ -1996,38 +2054,39 @@ "ext-session": "*", "ext-tokenizer": "*", "fruitcake/php-cors": "^1.3", - "guzzlehttp/guzzle": "^7.8", + "guzzlehttp/guzzle": "^7.8.2", "guzzlehttp/uri-template": "^1.0", "laravel/prompts": "^0.1.18|^0.2.0|^0.3.0", - "laravel/serializable-closure": "^1.3", - "league/commonmark": "^2.2.1", - "league/flysystem": "^3.8.0", + "laravel/serializable-closure": "^1.3|^2.0", + "league/commonmark": "^2.6", + "league/flysystem": "^3.25.1", + "league/flysystem-local": "^3.25.1", + "league/uri": "^7.5.1", "monolog/monolog": "^3.0", - "nesbot/carbon": "^2.72.2|^3.0", + "nesbot/carbon": "^2.72.2|^3.4", "nunomaduro/termwind": "^2.0", "php": "^8.2", "psr/container": "^1.1.1|^2.0.1", "psr/log": "^1.0|^2.0|^3.0", "psr/simple-cache": "^1.0|^2.0|^3.0", "ramsey/uuid": "^4.7", - "symfony/console": "^7.0", - "symfony/error-handler": "^7.0", - "symfony/finder": "^7.0", - "symfony/http-foundation": "^7.0", - "symfony/http-kernel": "^7.0", - "symfony/mailer": "^7.0", - "symfony/mime": "^7.0", - "symfony/polyfill-php83": "^1.28", - "symfony/process": "^7.0", - "symfony/routing": "^7.0", - "symfony/uid": "^7.0", - "symfony/var-dumper": "^7.0", + "symfony/console": "^7.0.3", + "symfony/error-handler": "^7.0.3", + "symfony/finder": "^7.0.3", + "symfony/http-foundation": "^7.2.0", + "symfony/http-kernel": "^7.0.3", + "symfony/mailer": "^7.0.3", + "symfony/mime": "^7.0.3", + "symfony/polyfill-php83": "^1.31", + "symfony/process": "^7.0.3", + "symfony/routing": "^7.0.3", + "symfony/uid": "^7.0.3", + "symfony/var-dumper": "^7.0.3", "tijsverkoyen/css-to-inline-styles": "^2.2.5", - "vlucas/phpdotenv": "^5.4.1", - "voku/portable-ascii": "^2.0" + "vlucas/phpdotenv": "^5.6.1", + "voku/portable-ascii": "^2.0.2" }, "conflict": { - "mockery/mockery": "1.6.8", "tightenco/collect": "<5.5.33" }, "provide": { @@ -2074,29 +2133,32 @@ }, "require-dev": { "ably/ably-php": "^1.0", - "aws/aws-sdk-php": "^3.235.5", + "aws/aws-sdk-php": "^3.322.9", "ext-gmp": "*", - "fakerphp/faker": "^1.23", - "league/flysystem-aws-s3-v3": "^3.0", - "league/flysystem-ftp": "^3.0", - "league/flysystem-path-prefixing": "^3.3", - "league/flysystem-read-only": "^3.3", - "league/flysystem-sftp-v3": "^3.0", - "mockery/mockery": "^1.6", - "nyholm/psr7": "^1.2", - "orchestra/testbench-core": "^9.5", - "pda/pheanstalk": "^5.0", + "fakerphp/faker": "^1.24", + "guzzlehttp/promises": "^2.0.3", + "guzzlehttp/psr7": "^2.4", + "league/flysystem-aws-s3-v3": "^3.25.1", + "league/flysystem-ftp": "^3.25.1", + "league/flysystem-path-prefixing": "^3.25.1", + "league/flysystem-read-only": "^3.25.1", + "league/flysystem-sftp-v3": "^3.25.1", + "mockery/mockery": "^1.6.10", + "orchestra/testbench-core": "^9.6", + "pda/pheanstalk": "^5.0.6", + "php-http/discovery": "^1.15", "phpstan/phpstan": "^1.11.5", - "phpunit/phpunit": "^10.5|^11.0", - "predis/predis": "^2.0.2", + "phpunit/phpunit": "^10.5.35|^11.3.6", + "predis/predis": "^2.3", "resend/resend-php": "^0.10.0", - "symfony/cache": "^7.0", - "symfony/http-client": "^7.0", - "symfony/psr-http-message-bridge": "^7.0" + "symfony/cache": "^7.0.3", + "symfony/http-client": "^7.0.3", + "symfony/psr-http-message-bridge": "^7.0.3", + "symfony/translation": "^7.0.3" }, "suggest": { "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.235.5).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.322.9).", "brianium/paratest": "Required to run tests in parallel (^7.0|^8.0).", "ext-apcu": "Required to use the APC cache driver.", "ext-fileinfo": "Required to use the Filesystem class.", @@ -2110,16 +2172,16 @@ "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", "filp/whoops": "Required for friendly error pages in development (^2.14.3).", "laravel/tinker": "Required to use the tinker console command (^2.0).", - "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", - "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", - "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.3).", - "league/flysystem-read-only": "Required to use read-only disks (^3.3)", - "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.25.1).", + "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.25.1).", + "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.25.1).", + "league/flysystem-read-only": "Required to use read-only disks (^3.25.1)", + "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.25.1).", "mockery/mockery": "Required to use mocking (^1.6).", - "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^5.0).", + "php-http/discovery": "Required to use PSR-7 bridging features (^1.15).", "phpunit/phpunit": "Required to use assertions and run tests (^10.5|^11.0).", - "predis/predis": "Required to use the predis connector (^2.0.2).", + "predis/predis": "Required to use the predis connector (^2.3).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0).", @@ -2138,6 +2200,7 @@ }, "autoload": { "files": [ + "src/Illuminate/Collections/functions.php", "src/Illuminate/Collections/helpers.php", "src/Illuminate/Events/functions.php", "src/Illuminate/Filesystem/functions.php", @@ -2175,27 +2238,27 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-11-12T15:36:15+00:00" + "time": "2025-01-02T20:10:21+00:00" }, { "name": "laravel/octane", - "version": "v2.5.9", + "version": "v2.6.0", "source": { "type": "git", "url": "https://github.com/laravel/octane.git", - "reference": "d8d432eb1e51a8ab2575854963d94e70d4592e15" + "reference": "b8b11ef25600baa835d364e724f2e948dc1eb88b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/octane/zipball/d8d432eb1e51a8ab2575854963d94e70d4592e15", - "reference": "d8d432eb1e51a8ab2575854963d94e70d4592e15", + "url": "https://api.github.com/repos/laravel/octane/zipball/b8b11ef25600baa835d364e724f2e948dc1eb88b", + "reference": "b8b11ef25600baa835d364e724f2e948dc1eb88b", "shasum": "" }, "require": { "laminas/laminas-diactoros": "^3.0", "laravel/framework": "^10.10.1|^11.0", "laravel/prompts": "^0.1.24|^0.2.0|^0.3.0", - "laravel/serializable-closure": "^1.3.0", + "laravel/serializable-closure": "^1.3|^2.0", "nesbot/carbon": "^2.66.0|^3.0", "php": "^8.1.0", "symfony/console": "^6.0|^7.0", @@ -2214,7 +2277,7 @@ "livewire/livewire": "^2.12.3|^3.0", "mockery/mockery": "^1.5.1", "nunomaduro/collision": "^6.4.0|^7.5.2|^8.0", - "orchestra/testbench": "^8.5.2|^9.0", + "orchestra/testbench": "^8.21|^9.0", "phpstan/phpstan": "^1.10.15", "phpunit/phpunit": "^10.4", "spiral/roadrunner-cli": "^2.6.0", @@ -2226,16 +2289,16 @@ ], "type": "library", "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - }, "laravel": { - "providers": [ - "Laravel\\Octane\\OctaneServiceProvider" - ], "aliases": { "Octane": "Laravel\\Octane\\Facades\\Octane" - } + }, + "providers": [ + "Laravel\\Octane\\OctaneServiceProvider" + ] + }, + "branch-alias": { + "dev-master": "2.x-dev" } }, "autoload": { @@ -2265,7 +2328,7 @@ "issues": "https://github.com/laravel/octane/issues", "source": "https://github.com/laravel/octane" }, - "time": "2024-10-06T21:09:20+00:00" + "time": "2024-11-25T21:47:18+00:00" }, { "name": "laravel/prompts", @@ -2327,33 +2390,114 @@ "time": "2024-11-12T14:59:47+00:00" }, { - "name": "laravel/serializable-closure", - "version": "v1.3.6", + "name": "laravel/scout", + "version": "v10.11.9", "source": { "type": "git", - "url": "https://github.com/laravel/serializable-closure.git", - "reference": "f865a58ea3a0107c336b7045104c75243fa59d96" + "url": "https://github.com/laravel/scout.git", + "reference": "8b3aaf369c5948957b3d504f8999d1a27d9fd800" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/f865a58ea3a0107c336b7045104c75243fa59d96", - "reference": "f865a58ea3a0107c336b7045104c75243fa59d96", + "url": "https://api.github.com/repos/laravel/scout/zipball/8b3aaf369c5948957b3d504f8999d1a27d9fd800", + "reference": "8b3aaf369c5948957b3d504f8999d1a27d9fd800", "shasum": "" }, "require": { - "php": "^7.3|^8.0" + "illuminate/bus": "^9.0|^10.0|^11.0", + "illuminate/contracts": "^9.0|^10.0|^11.0", + "illuminate/database": "^9.0|^10.0|^11.0", + "illuminate/http": "^9.0|^10.0|^11.0", + "illuminate/pagination": "^9.0|^10.0|^11.0", + "illuminate/queue": "^9.0|^10.0|^11.0", + "illuminate/support": "^9.0|^10.0|^11.0", + "php": "^8.0", + "symfony/console": "^6.0|^7.0" + }, + "conflict": { + "algolia/algoliasearch-client-php": "<3.2.0|>=5.0.0" }, "require-dev": { - "illuminate/support": "^8.0|^9.0|^10.0|^11.0", - "nesbot/carbon": "^2.61|^3.0", - "pestphp/pest": "^1.21.3", - "phpstan/phpstan": "^1.8.2", - "symfony/var-dumper": "^5.4.11|^6.2.0|^7.0.0" + "algolia/algoliasearch-client-php": "^3.2|^4.0", + "meilisearch/meilisearch-php": "^1.0", + "mockery/mockery": "^1.0", + "orchestra/testbench": "^7.31|^8.11|^9.0", + "php-http/guzzle7-adapter": "^1.0", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.3|^10.4", + "typesense/typesense-php": "^4.9.3" + }, + "suggest": { + "algolia/algoliasearch-client-php": "Required to use the Algolia engine (^3.2).", + "meilisearch/meilisearch-php": "Required to use the Meilisearch engine (^1.0).", + "typesense/typesense-php": "Required to use the Typesense engine (^4.9)." + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Scout\\ScoutServiceProvider" + ] + }, + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\Scout\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Laravel Scout provides a driver based solution to searching your Eloquent models.", + "keywords": [ + "algolia", + "laravel", + "search" + ], + "support": { + "issues": "https://github.com/laravel/scout/issues", + "source": "https://github.com/laravel/scout" + }, + "time": "2024-12-10T16:19:43+00:00" + }, + { + "name": "laravel/serializable-closure", + "version": "v2.0.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/serializable-closure.git", + "reference": "613b2d4998f85564d40497e05e89cb6d9bd1cbe8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/613b2d4998f85564d40497e05e89cb6d9bd1cbe8", + "reference": "613b2d4998f85564d40497e05e89cb6d9bd1cbe8", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "illuminate/support": "^10.0|^11.0", + "nesbot/carbon": "^2.67|^3.0", + "pestphp/pest": "^2.36", + "phpstan/phpstan": "^2.0", + "symfony/var-dumper": "^6.2.0|^7.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -2385,7 +2529,7 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2024-11-11T17:06:04+00:00" + "time": "2024-12-16T15:26:28+00:00" }, { "name": "laravel/tinker", @@ -2455,16 +2599,16 @@ }, { "name": "laravel/ui", - "version": "v4.5.2", + "version": "v4.6.0", "source": { "type": "git", "url": "https://github.com/laravel/ui.git", - "reference": "c75396f63268c95b053c8e4814eb70e0875e9628" + "reference": "a34609b15ae0c0512a0cf47a21695a2729cb7f93" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/ui/zipball/c75396f63268c95b053c8e4814eb70e0875e9628", - "reference": "c75396f63268c95b053c8e4814eb70e0875e9628", + "url": "https://api.github.com/repos/laravel/ui/zipball/a34609b15ae0c0512a0cf47a21695a2729cb7f93", + "reference": "a34609b15ae0c0512a0cf47a21695a2729cb7f93", "shasum": "" }, "require": { @@ -2481,13 +2625,13 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "4.x-dev" - }, "laravel": { "providers": [ "Laravel\\Ui\\UiServiceProvider" ] + }, + "branch-alias": { + "dev-master": "4.x-dev" } }, "autoload": { @@ -2512,9 +2656,9 @@ "ui" ], "support": { - "source": "https://github.com/laravel/ui/tree/v4.5.2" + "source": "https://github.com/laravel/ui/tree/v4.6.0" }, - "time": "2024-05-08T18:07:10+00:00" + "time": "2024-11-21T15:06:41+00:00" }, { "name": "ldc/ldccrmv4client", @@ -2575,16 +2719,16 @@ }, { "name": "league/commonmark", - "version": "2.5.3", + "version": "2.6.1", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "b650144166dfa7703e62a22e493b853b58d874b0" + "reference": "d990688c91cedfb69753ffc2512727ec646df2ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/b650144166dfa7703e62a22e493b853b58d874b0", - "reference": "b650144166dfa7703e62a22e493b853b58d874b0", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/d990688c91cedfb69753ffc2512727ec646df2ad", + "reference": "d990688c91cedfb69753ffc2512727ec646df2ad", "shasum": "" }, "require": { @@ -2609,8 +2753,9 @@ "phpstan/phpstan": "^1.8.2", "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", "scrutinizer/ocular": "^1.8.1", - "symfony/finder": "^5.3 | ^6.0 || ^7.0", - "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 || ^7.0", + "symfony/finder": "^5.3 | ^6.0 | ^7.0", + "symfony/process": "^5.4 | ^6.0 | ^7.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0", "unleashedtech/php-coding-standard": "^3.1.1", "vimeo/psalm": "^4.24.0 || ^5.0.0" }, @@ -2620,7 +2765,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.6-dev" + "dev-main": "2.7-dev" } }, "autoload": { @@ -2677,7 +2822,7 @@ "type": "tidelift" } ], - "time": "2024-08-16T11:46:16+00:00" + "time": "2024-12-29T14:10:59+00:00" }, { "name": "league/config", @@ -2763,16 +2908,16 @@ }, { "name": "league/csv", - "version": "9.18.0", + "version": "9.21.0", "source": { "type": "git", "url": "https://github.com/thephpleague/csv.git", - "reference": "b02d010e4055ae992247f6ffd1e7b103ef2a0790" + "reference": "72196d11ebba22d868954cb39c0c7346207430cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/csv/zipball/b02d010e4055ae992247f6ffd1e7b103ef2a0790", - "reference": "b02d010e4055ae992247f6ffd1e7b103ef2a0790", + "url": "https://api.github.com/repos/thephpleague/csv/zipball/72196d11ebba22d868954cb39c0c7346207430cc", + "reference": "72196d11ebba22d868954cb39c0c7346207430cc", "shasum": "" }, "require": { @@ -2784,12 +2929,12 @@ "ext-xdebug": "*", "friendsofphp/php-cs-fixer": "^3.64.0", "phpbench/phpbench": "^1.3.1", - "phpstan/phpstan": "^1.12.6", + "phpstan/phpstan": "^1.12.11", "phpstan/phpstan-deprecation-rules": "^1.2.1", - "phpstan/phpstan-phpunit": "^1.4.0", + "phpstan/phpstan-phpunit": "^1.4.1", "phpstan/phpstan-strict-rules": "^1.6.1", - "phpunit/phpunit": "^10.5.16 || ^11.4.1", - "symfony/var-dumper": "^6.4.8 || ^7.1.5" + "phpunit/phpunit": "^10.5.16 || ^11.4.3", + "symfony/var-dumper": "^6.4.8 || ^7.1.8" }, "suggest": { "ext-dom": "Required to use the XMLConverter and the HTMLConverter classes", @@ -2846,7 +2991,7 @@ "type": "github" } ], - "time": "2024-10-18T08:14:48+00:00" + "time": "2025-01-08T19:27:58+00:00" }, { "name": "league/flysystem", @@ -3036,6 +3181,180 @@ ], "time": "2024-09-21T08:32:55+00:00" }, + { + "name": "league/uri", + "version": "7.5.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/uri.git", + "reference": "81fb5145d2644324614cc532b28efd0215bda430" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/uri/zipball/81fb5145d2644324614cc532b28efd0215bda430", + "reference": "81fb5145d2644324614cc532b28efd0215bda430", + "shasum": "" + }, + "require": { + "league/uri-interfaces": "^7.5", + "php": "^8.1" + }, + "conflict": { + "league/uri-schemes": "^1.0" + }, + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-fileinfo": "to create Data URI from file contennts", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain", + "league/uri-components": "Needed to easily manipulate URI objects components", + "php-64bit": "to improve IPV4 host parsing", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "URI manipulation library", + "homepage": "https://uri.thephpleague.com", + "keywords": [ + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "middleware", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", + "rfc3986", + "rfc3987", + "rfc6570", + "uri", + "uri-template", + "url", + "ws" + ], + "support": { + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri/tree/7.5.1" + }, + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2024-12-08T08:40:02+00:00" + }, + { + "name": "league/uri-interfaces", + "version": "7.5.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/uri-interfaces.git", + "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/08cfc6c4f3d811584fb09c37e2849e6a7f9b0742", + "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "php": "^8.1", + "psr/http-factory": "^1", + "psr/http-message": "^1.1 || ^2.0" + }, + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "php-64bit": "to improve IPV4 host parsing", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "Common interfaces and classes for URI representation and interaction", + "homepage": "https://uri.thephpleague.com", + "keywords": [ + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", + "rfc3986", + "rfc3987", + "rfc6570", + "uri", + "url", + "ws" + ], + "support": { + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri-interfaces/tree/7.5.0" + }, + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2024-12-08T08:18:47+00:00" + }, { "name": "masterminds/html5", "version": "2.9.0", @@ -3103,6 +3422,73 @@ }, "time": "2024-03-31T07:05:07+00:00" }, + { + "name": "meilisearch/meilisearch-php", + "version": "v1.12.0", + "source": { + "type": "git", + "url": "https://github.com/meilisearch/meilisearch-php.git", + "reference": "78879c29cb2eb1c9e3cf09707b87d8a369a4579d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/meilisearch/meilisearch-php/zipball/78879c29cb2eb1c9e3cf09707b87d8a369a4579d", + "reference": "78879c29cb2eb1c9e3cf09707b87d8a369a4579d", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^7.4 || ^8.0", + "php-http/discovery": "^1.7", + "psr/http-client": "^1.0" + }, + "require-dev": { + "guzzlehttp/guzzle": "^7.8.1", + "http-interop/http-factory-guzzle": "^1.2.0", + "php-cs-fixer/shim": "^3.59.3", + "phpstan/extension-installer": "^1.4.1", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-deprecation-rules": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^9.5 || ^10.5" + }, + "suggest": { + "guzzlehttp/guzzle": "Use Guzzle ^7 as HTTP client", + "http-interop/http-factory-guzzle": "Factory for guzzlehttp/guzzle" + }, + "type": "library", + "autoload": { + "psr-4": { + "MeiliSearch\\": "src/", + "Meilisearch\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Clementine", + "email": "clementine@meilisearch.com" + } + ], + "description": "PHP wrapper for the Meilisearch API", + "keywords": [ + "api", + "client", + "instant", + "meilisearch", + "php", + "search" + ], + "support": { + "issues": "https://github.com/meilisearch/meilisearch-php/issues", + "source": "https://github.com/meilisearch/meilisearch-php/tree/v1.12.0" + }, + "time": "2024-12-23T11:46:42+00:00" + }, { "name": "mews/purifier", "version": "3.4.2", @@ -3136,12 +3522,12 @@ "type": "package", "extra": { "laravel": { - "providers": [ - "Mews\\Purifier\\PurifierServiceProvider" - ], "aliases": { "Purifier": "Mews\\Purifier\\Facades\\Purifier" - } + }, + "providers": [ + "Mews\\Purifier\\PurifierServiceProvider" + ] } }, "autoload": { @@ -3183,28 +3569,29 @@ }, { "name": "mobiledetect/mobiledetectlib", - "version": "4.8.06", + "version": "4.8.09", "source": { "type": "git", "url": "https://github.com/serbanghita/Mobile-Detect.git", - "reference": "af088b54cecc13b3264edca7da93a89ba7aa2d9e" + "reference": "a06fe2e546a06bb8c2639d6823d5250b2efb3209" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/serbanghita/Mobile-Detect/zipball/af088b54cecc13b3264edca7da93a89ba7aa2d9e", - "reference": "af088b54cecc13b3264edca7da93a89ba7aa2d9e", + "url": "https://api.github.com/repos/serbanghita/Mobile-Detect/zipball/a06fe2e546a06bb8c2639d6823d5250b2efb3209", + "reference": "a06fe2e546a06bb8c2639d6823d5250b2efb3209", "shasum": "" }, "require": { "php": ">=8.0", - "psr/simple-cache": "^2 || ^3" + "psr/cache": "^3.0", + "psr/simple-cache": "^3" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^v3.35.1", + "friendsofphp/php-cs-fixer": "^v3.65.0", "phpbench/phpbench": "^1.2", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^9.6", - "squizlabs/php_codesniffer": "^3.7" + "phpstan/phpstan": "^1.12.x-dev", + "phpunit/phpunit": "^9.6.18", + "squizlabs/php_codesniffer": "^3.11.1" }, "type": "library", "autoload": { @@ -3235,7 +3622,7 @@ ], "support": { "issues": "https://github.com/serbanghita/Mobile-Detect/issues", - "source": "https://github.com/serbanghita/Mobile-Detect/tree/4.8.06" + "source": "https://github.com/serbanghita/Mobile-Detect/tree/4.8.09" }, "funding": [ { @@ -3243,27 +3630,27 @@ "type": "github" } ], - "time": "2024-03-01T22:28:42+00:00" + "time": "2024-12-10T15:32:06+00:00" }, { "name": "moneyphp/money", - "version": "v4.5.1", + "version": "v4.6.0", "source": { "type": "git", "url": "https://github.com/moneyphp/money.git", - "reference": "142107bec4870ac2586057dc2fe917d25c92a91e" + "reference": "ddf6a86b574808f8844777ed4e8c4f92a10dac9b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/moneyphp/money/zipball/142107bec4870ac2586057dc2fe917d25c92a91e", - "reference": "142107bec4870ac2586057dc2fe917d25c92a91e", + "url": "https://api.github.com/repos/moneyphp/money/zipball/ddf6a86b574808f8844777ed4e8c4f92a10dac9b", + "reference": "ddf6a86b574808f8844777ed4e8c4f92a10dac9b", "shasum": "" }, "require": { "ext-bcmath": "*", "ext-filter": "*", "ext-json": "*", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, "require-dev": { "cache/taggable-cache": "^1.1.0", @@ -3329,22 +3716,22 @@ ], "support": { "issues": "https://github.com/moneyphp/money/issues", - "source": "https://github.com/moneyphp/money/tree/v4.5.1" + "source": "https://github.com/moneyphp/money/tree/v4.6.0" }, - "time": "2024-09-27T12:04:27+00:00" + "time": "2024-11-22T10:59:03+00:00" }, { "name": "monolog/monolog", - "version": "3.8.0", + "version": "3.8.1", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "32e515fdc02cdafbe4593e30a9350d486b125b67" + "reference": "aef6ee73a77a66e404dd6540934a9ef1b3c855b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/32e515fdc02cdafbe4593e30a9350d486b125b67", - "reference": "32e515fdc02cdafbe4593e30a9350d486b125b67", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/aef6ee73a77a66e404dd6540934a9ef1b3c855b4", + "reference": "aef6ee73a77a66e404dd6540934a9ef1b3c855b4", "shasum": "" }, "require": { @@ -3422,7 +3809,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/3.8.0" + "source": "https://github.com/Seldaek/monolog/tree/3.8.1" }, "funding": [ { @@ -3434,20 +3821,20 @@ "type": "tidelift" } ], - "time": "2024-11-12T13:57:08+00:00" + "time": "2024-12-05T17:15:07+00:00" }, { "name": "mpdf/mpdf", - "version": "v8.2.4", + "version": "v8.2.5", "source": { "type": "git", "url": "https://github.com/mpdf/mpdf.git", - "reference": "9e3ff91606fed11cd58a130eabaaf60e56fdda88" + "reference": "e175b05e3e00977b85feb96a8cccb174ac63621f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mpdf/mpdf/zipball/9e3ff91606fed11cd58a130eabaaf60e56fdda88", - "reference": "9e3ff91606fed11cd58a130eabaaf60e56fdda88", + "url": "https://api.github.com/repos/mpdf/mpdf/zipball/e175b05e3e00977b85feb96a8cccb174ac63621f", + "reference": "e175b05e3e00977b85feb96a8cccb174ac63621f", "shasum": "" }, "require": { @@ -3457,7 +3844,7 @@ "mpdf/psr-log-aware-trait": "^2.0 || ^3.0", "myclabs/deep-copy": "^1.7", "paragonie/random_compat": "^1.4|^2.0|^9.99.99", - "php": "^5.6 || ^7.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0", + "php": "^5.6 || ^7.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0", "psr/http-message": "^1.0 || ^2.0", "psr/log": "^1.0 || ^2.0 || ^3.0", "setasign/fpdi": "^2.1" @@ -3505,7 +3892,7 @@ "utf-8" ], "support": { - "docs": "http://mpdf.github.io", + "docs": "https://mpdf.github.io", "issues": "https://github.com/mpdf/mpdf/issues", "source": "https://github.com/mpdf/mpdf" }, @@ -3515,7 +3902,7 @@ "type": "custom" } ], - "time": "2024-06-14T16:06:41+00:00" + "time": "2024-11-18T15:30:42+00:00" }, { "name": "mpdf/psr-http-message-shim", @@ -3671,16 +4058,16 @@ }, { "name": "nesbot/carbon", - "version": "3.8.2", + "version": "3.8.4", "source": { "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "e1268cdbc486d97ce23fef2c666dc3c6b6de9947" + "url": "https://github.com/CarbonPHP/carbon.git", + "reference": "129700ed449b1f02d70272d2ac802357c8c30c58" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/e1268cdbc486d97ce23fef2c666dc3c6b6de9947", - "reference": "e1268cdbc486d97ce23fef2c666dc3c6b6de9947", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/129700ed449b1f02d70272d2ac802357c8c30c58", + "reference": "129700ed449b1f02d70272d2ac802357c8c30c58", "shasum": "" }, "require": { @@ -3712,10 +4099,6 @@ ], "type": "library", "extra": { - "branch-alias": { - "dev-master": "3.x-dev", - "dev-2.x": "2.x-dev" - }, "laravel": { "providers": [ "Carbon\\Laravel\\ServiceProvider" @@ -3725,6 +4108,10 @@ "includes": [ "extension.neon" ] + }, + "branch-alias": { + "dev-2.x": "2.x-dev", + "dev-master": "3.x-dev" } }, "autoload": { @@ -3773,7 +4160,7 @@ "type": "tidelift" } ], - "time": "2024-11-07T17:46:48+00:00" + "time": "2024-12-27T09:25:35+00:00" }, { "name": "nette/schema", @@ -3925,30 +4312,30 @@ }, { "name": "nicmart/tree", - "version": "0.8.0", + "version": "0.9.0", "source": { "type": "git", "url": "https://github.com/nicmart/Tree.git", - "reference": "8d02952acc9779a2c14f7a9c4ac1650c3dacb545" + "reference": "f5e17bf18d78cfb0666ebb9f956c3acd8d14229d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nicmart/Tree/zipball/8d02952acc9779a2c14f7a9c4ac1650c3dacb545", - "reference": "8d02952acc9779a2c14f7a9c4ac1650c3dacb545", + "url": "https://api.github.com/repos/nicmart/Tree/zipball/f5e17bf18d78cfb0666ebb9f956c3acd8d14229d", + "reference": "f5e17bf18d78cfb0666ebb9f956c3acd8d14229d", "shasum": "" }, "require": { - "php": "~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, "require-dev": { - "ergebnis/composer-normalize": "^2.31.0", - "ergebnis/license": "^2.4.0", - "ergebnis/php-cs-fixer-config": "^6.13.0", - "fakerphp/faker": "^1.23.0", + "ergebnis/composer-normalize": "^2.44.0", + "ergebnis/license": "^2.6.0", + "ergebnis/php-cs-fixer-config": "^6.28.1", + "fakerphp/faker": "^1.24.1", "infection/infection": "~0.26.19", - "phpunit/phpunit": "^9.6.14", - "psalm/plugin-phpunit": "~0.18.4", - "vimeo/psalm": "^5.16.0" + "phpunit/phpunit": "^9.6.19", + "psalm/plugin-phpunit": "~0.19.0", + "vimeo/psalm": "^5.26.1" }, "type": "library", "autoload": { @@ -3973,22 +4360,22 @@ "description": "A basic but flexible php tree data structure and a fluent tree builder implementation.", "support": { "issues": "https://github.com/nicmart/Tree/issues", - "source": "https://github.com/nicmart/Tree/tree/0.8.0" + "source": "https://github.com/nicmart/Tree/tree/0.9.0" }, - "time": "2023-12-02T13:24:56+00:00" + "time": "2024-11-22T15:36:01+00:00" }, { "name": "nikic/php-parser", - "version": "v5.3.1", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b" + "reference": "447a020a1f875a434d62f2a401f53b82a396e494" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/8eea230464783aa9671db8eea6f8c6ac5285794b", - "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/447a020a1f875a434d62f2a401f53b82a396e494", + "reference": "447a020a1f875a434d62f2a401f53b82a396e494", "shasum": "" }, "require": { @@ -4031,37 +4418,37 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.3.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.4.0" }, - "time": "2024-10-08T18:51:32+00:00" + "time": "2024-12-30T11:07:19+00:00" }, { "name": "nunomaduro/termwind", - "version": "v2.2.0", + "version": "v2.3.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/termwind.git", - "reference": "42c84e4e8090766bbd6445d06cd6e57650626ea3" + "reference": "52915afe6a1044e8b9cee1bcff836fb63acf9cda" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/42c84e4e8090766bbd6445d06cd6e57650626ea3", - "reference": "42c84e4e8090766bbd6445d06cd6e57650626ea3", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/52915afe6a1044e8b9cee1bcff836fb63acf9cda", + "reference": "52915afe6a1044e8b9cee1bcff836fb63acf9cda", "shasum": "" }, "require": { "ext-mbstring": "*", "php": "^8.2", - "symfony/console": "^7.1.5" + "symfony/console": "^7.1.8" }, "require-dev": { - "illuminate/console": "^11.28.0", - "laravel/pint": "^1.18.1", + "illuminate/console": "^11.33.2", + "laravel/pint": "^1.18.2", "mockery/mockery": "^1.6.12", "pestphp/pest": "^2.36.0", - "phpstan/phpstan": "^1.12.6", + "phpstan/phpstan": "^1.12.11", "phpstan/phpstan-strict-rules": "^1.6.1", - "symfony/var-dumper": "^7.1.5", + "symfony/var-dumper": "^7.1.8", "thecodingmachine/phpstan-strict-rules": "^1.0.0" }, "type": "library", @@ -4104,7 +4491,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/termwind/issues", - "source": "https://github.com/nunomaduro/termwind/tree/v2.2.0" + "source": "https://github.com/nunomaduro/termwind/tree/v2.3.0" }, "funding": [ { @@ -4120,7 +4507,7 @@ "type": "github" } ], - "time": "2024-10-15T16:15:16+00:00" + "time": "2024-11-21T10:39:51+00:00" }, { "name": "nyholm/psr7", @@ -4314,6 +4701,85 @@ }, "time": "2020-10-15T08:29:30+00:00" }, + { + "name": "php-http/discovery", + "version": "1.20.0", + "source": { + "type": "git", + "url": "https://github.com/php-http/discovery.git", + "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d", + "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0|^2.0", + "php": "^7.1 || ^8.0" + }, + "conflict": { + "nyholm/psr7": "<1.0", + "zendframework/zend-diactoros": "*" + }, + "provide": { + "php-http/async-client-implementation": "*", + "php-http/client-implementation": "*", + "psr/http-client-implementation": "*", + "psr/http-factory-implementation": "*", + "psr/http-message-implementation": "*" + }, + "require-dev": { + "composer/composer": "^1.0.2|^2.0", + "graham-campbell/phpspec-skip-example-extension": "^5.0", + "php-http/httplug": "^1.0 || ^2.0", + "php-http/message-factory": "^1.0", + "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3", + "sebastian/comparator": "^3.0.5 || ^4.0.8", + "symfony/phpunit-bridge": "^6.4.4 || ^7.0.1" + }, + "type": "composer-plugin", + "extra": { + "class": "Http\\Discovery\\Composer\\Plugin", + "plugin-optional": true + }, + "autoload": { + "psr-4": { + "Http\\Discovery\\": "src/" + }, + "exclude-from-classmap": [ + "src/Composer/Plugin.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations", + "homepage": "http://php-http.org", + "keywords": [ + "adapter", + "client", + "discovery", + "factory", + "http", + "message", + "psr17", + "psr7" + ], + "support": { + "issues": "https://github.com/php-http/discovery/issues", + "source": "https://github.com/php-http/discovery/tree/1.20.0" + }, + "time": "2024-10-02T11:20:13+00:00" + }, { "name": "phpoption/phpoption", "version": "1.9.3", @@ -4391,16 +4857,16 @@ }, { "name": "phpseclib/phpseclib", - "version": "2.0.47", + "version": "2.0.48", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "b7d7d90ee7df7f33a664b4aea32d50a305d35adb" + "reference": "eaa7be704b8b93a6913b69eb7f645a59d7731b61" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/b7d7d90ee7df7f33a664b4aea32d50a305d35adb", - "reference": "b7d7d90ee7df7f33a664b4aea32d50a305d35adb", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/eaa7be704b8b93a6913b69eb7f645a59d7731b61", + "reference": "eaa7be704b8b93a6913b69eb7f645a59d7731b61", "shasum": "" }, "require": { @@ -4481,7 +4947,7 @@ ], "support": { "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/2.0.47" + "source": "https://github.com/phpseclib/phpseclib/tree/2.0.48" }, "funding": [ { @@ -4497,20 +4963,20 @@ "type": "tidelift" } ], - "time": "2024-02-26T04:55:38+00:00" + "time": "2024-12-14T21:03:54+00:00" }, { "name": "propaganistas/laravel-phone", - "version": "5.3.2", + "version": "5.3.3", "source": { "type": "git", "url": "https://github.com/Propaganistas/Laravel-Phone.git", - "reference": "44efd6edc181616c49f895fff97ad1cc0f3fecb2" + "reference": "2172362ae5714ddc397d9df96a44b82bd125631a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Propaganistas/Laravel-Phone/zipball/44efd6edc181616c49f895fff97ad1cc0f3fecb2", - "reference": "44efd6edc181616c49f895fff97ad1cc0f3fecb2", + "url": "https://api.github.com/repos/Propaganistas/Laravel-Phone/zipball/2172362ae5714ddc397d9df96a44b82bd125631a", + "reference": "2172362ae5714ddc397d9df96a44b82bd125631a", "shasum": "" }, "require": { @@ -4521,7 +4987,6 @@ "php": "^8.1" }, "require-dev": { - "larastan/larastan": "^2.9", "laravel/pint": "^1.14", "orchestra/testbench": "*", "phpunit/phpunit": "^10.5" @@ -4561,7 +5026,7 @@ ], "support": { "issues": "https://github.com/Propaganistas/Laravel-Phone/issues", - "source": "https://github.com/Propaganistas/Laravel-Phone/tree/5.3.2" + "source": "https://github.com/Propaganistas/Laravel-Phone/tree/5.3.3" }, "funding": [ { @@ -4569,7 +5034,56 @@ "type": "github" } ], - "time": "2024-04-24T09:18:58+00:00" + "time": "2024-12-27T11:45:47+00:00" + }, + { + "name": "psr/cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "support": { + "source": "https://github.com/php-fig/cache/tree/3.0.0" + }, + "time": "2021-02-03T23:26:27+00:00" }, { "name": "psr/clock", @@ -4985,16 +5499,16 @@ }, { "name": "psy/psysh", - "version": "v0.12.4", + "version": "v0.12.7", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "2fd717afa05341b4f8152547f142cd2f130f6818" + "reference": "d73fa3c74918ef4522bb8a3bf9cab39161c4b57c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/2fd717afa05341b4f8152547f142cd2f130f6818", - "reference": "2fd717afa05341b4f8152547f142cd2f130f6818", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/d73fa3c74918ef4522bb8a3bf9cab39161c4b57c", + "reference": "d73fa3c74918ef4522bb8a3bf9cab39161c4b57c", "shasum": "" }, "require": { @@ -5021,12 +5535,12 @@ ], "type": "library", "extra": { - "branch-alias": { - "dev-main": "0.12.x-dev" - }, "bamarni-bin": { "bin-links": false, "forward-command": false + }, + "branch-alias": { + "dev-main": "0.12.x-dev" } }, "autoload": { @@ -5058,9 +5572,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.12.4" + "source": "https://github.com/bobthecow/psysh/tree/v0.12.7" }, - "time": "2024-06-10T01:18:23+00:00" + "time": "2024-12-10T01:58:33+00:00" }, { "name": "ralouphie/getallheaders", @@ -5343,20 +5857,20 @@ }, { "name": "respect/validation", - "version": "2.3.7", + "version": "2.4.0", "source": { "type": "git", "url": "https://github.com/Respect/Validation.git", - "reference": "967f7b6cc71e3728bb0f766cc1aea0604b2955aa" + "reference": "48b38bd91e0badbc2c4381dce726b09fd68850d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Respect/Validation/zipball/967f7b6cc71e3728bb0f766cc1aea0604b2955aa", - "reference": "967f7b6cc71e3728bb0f766cc1aea0604b2955aa", + "url": "https://api.github.com/repos/Respect/Validation/zipball/48b38bd91e0badbc2c4381dce726b09fd68850d9", + "reference": "48b38bd91e0badbc2c4381dce726b09fd68850d9", "shasum": "" }, "require": { - "php": "^8.1 || ^8.2", + "php": ">=8.1", "respect/stringifier": "^0.2.0", "symfony/polyfill-mbstring": "^1.2" }, @@ -5405,22 +5919,22 @@ ], "support": { "issues": "https://github.com/Respect/Validation/issues", - "source": "https://github.com/Respect/Validation/tree/2.3.7" + "source": "https://github.com/Respect/Validation/tree/2.4.0" }, - "time": "2024-04-13T09:45:55+00:00" + "time": "2025-01-07T00:34:58+00:00" }, { "name": "robrichards/xmlseclibs", - "version": "3.1.1", + "version": "3.1.3", "source": { "type": "git", "url": "https://github.com/robrichards/xmlseclibs.git", - "reference": "f8f19e58f26cdb42c54b214ff8a820760292f8df" + "reference": "2bdfd742624d739dfadbd415f00181b4a77aaf07" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/robrichards/xmlseclibs/zipball/f8f19e58f26cdb42c54b214ff8a820760292f8df", - "reference": "f8f19e58f26cdb42c54b214ff8a820760292f8df", + "url": "https://api.github.com/repos/robrichards/xmlseclibs/zipball/2bdfd742624d739dfadbd415f00181b4a77aaf07", + "reference": "2bdfd742624d739dfadbd415f00181b4a77aaf07", "shasum": "" }, "require": { @@ -5447,9 +5961,9 @@ ], "support": { "issues": "https://github.com/robrichards/xmlseclibs/issues", - "source": "https://github.com/robrichards/xmlseclibs/tree/3.1.1" + "source": "https://github.com/robrichards/xmlseclibs/tree/3.1.3" }, - "time": "2020-09-05T13:00:25+00:00" + "time": "2024-11-20T21:13:56+00:00" }, { "name": "sentry/sentry", @@ -5542,16 +6056,16 @@ }, { "name": "sentry/sentry-laravel", - "version": "4.10.0", + "version": "4.10.2", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-laravel.git", - "reference": "cbdd224cc5a224528bf6b19507ad76187b3bccfa" + "reference": "0e2e5bc4311da51349487afcf67b8fca937f6d94" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/cbdd224cc5a224528bf6b19507ad76187b3bccfa", - "reference": "cbdd224cc5a224528bf6b19507ad76187b3bccfa", + "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/0e2e5bc4311da51349487afcf67b8fca937f6d94", + "reference": "0e2e5bc4311da51349487afcf67b8fca937f6d94", "shasum": "" }, "require": { @@ -5575,13 +6089,13 @@ "type": "library", "extra": { "laravel": { + "aliases": { + "Sentry": "Sentry\\Laravel\\Facade" + }, "providers": [ "Sentry\\Laravel\\ServiceProvider", "Sentry\\Laravel\\Tracing\\ServiceProvider" - ], - "aliases": { - "Sentry": "Sentry\\Laravel\\Facade" - } + ] } }, "autoload": { @@ -5615,7 +6129,7 @@ ], "support": { "issues": "https://github.com/getsentry/sentry-laravel/issues", - "source": "https://github.com/getsentry/sentry-laravel/tree/4.10.0" + "source": "https://github.com/getsentry/sentry-laravel/tree/4.10.2" }, "funding": [ { @@ -5627,20 +6141,20 @@ "type": "custom" } ], - "time": "2024-11-07T08:05:24+00:00" + "time": "2024-12-17T11:38:58+00:00" }, { "name": "setasign/fpdi", - "version": "v2.6.1", + "version": "v2.6.2", "source": { "type": "git", "url": "https://github.com/Setasign/FPDI.git", - "reference": "09a816004fcee9ed3405bd164147e3fdbb79a56f" + "reference": "9e013b376939c0d4029f54150d2a16f3c67a5797" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Setasign/FPDI/zipball/09a816004fcee9ed3405bd164147e3fdbb79a56f", - "reference": "09a816004fcee9ed3405bd164147e3fdbb79a56f", + "url": "https://api.github.com/repos/Setasign/FPDI/zipball/9e013b376939c0d4029f54150d2a16f3c67a5797", + "reference": "9e013b376939c0d4029f54150d2a16f3c67a5797", "shasum": "" }, "require": { @@ -5691,7 +6205,7 @@ ], "support": { "issues": "https://github.com/Setasign/FPDI/issues", - "source": "https://github.com/Setasign/FPDI/tree/v2.6.1" + "source": "https://github.com/Setasign/FPDI/tree/v2.6.2" }, "funding": [ { @@ -5699,7 +6213,7 @@ "type": "tidelift" } ], - "time": "2024-09-02T10:17:15+00:00" + "time": "2024-12-10T13:12:19+00:00" }, { "name": "snipe/banbuilder", @@ -5755,16 +6269,16 @@ }, { "name": "spatie/browsershot", - "version": "4.3.0", + "version": "5.0.5", "source": { "type": "git", "url": "https://github.com/spatie/browsershot.git", - "reference": "601f2758191d8c46b2ea587eea935a87da4f39e8" + "reference": "c0fa14c2386df2b4444e803ddc11e592b16d3a20" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/browsershot/zipball/601f2758191d8c46b2ea587eea935a87da4f39e8", - "reference": "601f2758191d8c46b2ea587eea935a87da4f39e8", + "url": "https://api.github.com/repos/spatie/browsershot/zipball/c0fa14c2386df2b4444e803ddc11e592b16d3a20", + "reference": "c0fa14c2386df2b4444e803ddc11e592b16d3a20", "shasum": "" }, "require": { @@ -5775,10 +6289,10 @@ "symfony/process": "^6.0|^7.0" }, "require-dev": { - "pestphp/pest": "^1.20", + "pestphp/pest": "^3.0", "spatie/image": "^3.6", "spatie/pdf-to-text": "^1.52", - "spatie/phpunit-snapshot-assertions": "^4.2.3" + "spatie/phpunit-snapshot-assertions": "^4.2.3|^5.0" }, "type": "library", "autoload": { @@ -5811,7 +6325,7 @@ "webpage" ], "support": { - "source": "https://github.com/spatie/browsershot/tree/4.3.0" + "source": "https://github.com/spatie/browsershot/tree/5.0.5" }, "funding": [ { @@ -5819,29 +6333,29 @@ "type": "github" } ], - "time": "2024-08-22T09:14:07+00:00" + "time": "2024-12-30T12:56:36+00:00" }, { "name": "spatie/crawler", - "version": "8.2.3", + "version": "8.4.0", "source": { "type": "git", "url": "https://github.com/spatie/crawler.git", - "reference": "c659f2fe4954249755990e42394a14d6d847a0a7" + "reference": "344e1b90488c19bdf01d76d40d6728994d0951f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/crawler/zipball/c659f2fe4954249755990e42394a14d6d847a0a7", - "reference": "c659f2fe4954249755990e42394a14d6d847a0a7", + "url": "https://api.github.com/repos/spatie/crawler/zipball/344e1b90488c19bdf01d76d40d6728994d0951f7", + "reference": "344e1b90488c19bdf01d76d40d6728994d0951f7", "shasum": "" }, "require": { "guzzlehttp/guzzle": "^7.3", "guzzlehttp/psr7": "^2.0", "illuminate/collections": "^10.0|^11.0", - "nicmart/tree": "^0.8.0", + "nicmart/tree": "^0.9", "php": "^8.1", - "spatie/browsershot": "^3.45|^4.0", + "spatie/browsershot": "^3.45|^4.0|^5.0", "spatie/robots-txt": "^2.0", "symfony/dom-crawler": "^6.0|^7.0" }, @@ -5875,7 +6389,7 @@ ], "support": { "issues": "https://github.com/spatie/crawler/issues", - "source": "https://github.com/spatie/crawler/tree/8.2.3" + "source": "https://github.com/spatie/crawler/tree/8.4.0" }, "funding": [ { @@ -5887,20 +6401,20 @@ "type": "github" } ], - "time": "2024-07-31T10:46:19+00:00" + "time": "2024-12-16T15:32:54+00:00" }, { "name": "spatie/laravel-package-tools", - "version": "1.16.5", + "version": "1.18.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-package-tools.git", - "reference": "c7413972cf22ffdff97b68499c22baa04eddb6a2" + "reference": "8332205b90d17164913244f4a8e13ab7e6761d29" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/c7413972cf22ffdff97b68499c22baa04eddb6a2", - "reference": "c7413972cf22ffdff97b68499c22baa04eddb6a2", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/8332205b90d17164913244f4a8e13ab7e6761d29", + "reference": "8332205b90d17164913244f4a8e13ab7e6761d29", "shasum": "" }, "require": { @@ -5909,10 +6423,10 @@ }, "require-dev": { "mockery/mockery": "^1.5", - "orchestra/testbench": "^7.7|^8.0", - "pestphp/pest": "^1.22", - "phpunit/phpunit": "^9.5.24", - "spatie/pest-plugin-test-time": "^1.1" + "orchestra/testbench": "^7.7|^8.0|^9.0", + "pestphp/pest": "^1.22|^2", + "phpunit/phpunit": "^9.5.24|^10.5", + "spatie/pest-plugin-test-time": "^1.1|^2.2" }, "type": "library", "autoload": { @@ -5939,7 +6453,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-package-tools/issues", - "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.5" + "source": "https://github.com/spatie/laravel-package-tools/tree/1.18.0" }, "funding": [ { @@ -5947,27 +6461,27 @@ "type": "github" } ], - "time": "2024-08-27T18:56:10+00:00" + "time": "2024-12-30T13:13:39+00:00" }, { "name": "spatie/laravel-sitemap", - "version": "7.2.1", + "version": "7.3.2", "source": { "type": "git", "url": "https://github.com/spatie/laravel-sitemap.git", - "reference": "6d3d7637690a9710456a01bacabf5088f93ffe11" + "reference": "f32822abf94f29c886154f7dbfc6b5763f0de970" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-sitemap/zipball/6d3d7637690a9710456a01bacabf5088f93ffe11", - "reference": "6d3d7637690a9710456a01bacabf5088f93ffe11", + "url": "https://api.github.com/repos/spatie/laravel-sitemap/zipball/f32822abf94f29c886154f7dbfc6b5763f0de970", + "reference": "f32822abf94f29c886154f7dbfc6b5763f0de970", "shasum": "" }, "require": { "guzzlehttp/guzzle": "^7.8", "illuminate/support": "^10.0|^11.0", "nesbot/carbon": "^2.71|^3.0", - "php": "^8.2", + "php": "^8.2||^8.3||^8.4", "spatie/crawler": "^8.0.1", "spatie/laravel-package-tools": "^1.16.1", "symfony/dom-crawler": "^6.3.4|^7.0" @@ -6012,7 +6526,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/laravel-sitemap/tree/7.2.1" + "source": "https://github.com/spatie/laravel-sitemap/tree/7.3.2" }, "funding": [ { @@ -6020,7 +6534,7 @@ "type": "custom" } ], - "time": "2024-05-21T12:31:34+00:00" + "time": "2025-01-13T11:33:06+00:00" }, { "name": "spatie/robots-txt", @@ -6084,16 +6598,16 @@ }, { "name": "spatie/temporary-directory", - "version": "2.2.1", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/spatie/temporary-directory.git", - "reference": "76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a" + "reference": "580eddfe9a0a41a902cac6eeb8f066b42e65a32b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a", - "reference": "76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a", + "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/580eddfe9a0a41a902cac6eeb8f066b42e65a32b", + "reference": "580eddfe9a0a41a902cac6eeb8f066b42e65a32b", "shasum": "" }, "require": { @@ -6129,7 +6643,7 @@ ], "support": { "issues": "https://github.com/spatie/temporary-directory/issues", - "source": "https://github.com/spatie/temporary-directory/tree/2.2.1" + "source": "https://github.com/spatie/temporary-directory/tree/2.3.0" }, "funding": [ { @@ -6141,20 +6655,20 @@ "type": "github" } ], - "time": "2023-12-25T11:46:58+00:00" + "time": "2025-01-13T13:04:43+00:00" }, { "name": "symfony/clock", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/clock.git", - "reference": "97bebc53548684c17ed696bc8af016880f0f098d" + "reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/clock/zipball/97bebc53548684c17ed696bc8af016880f0f098d", - "reference": "97bebc53548684c17ed696bc8af016880f0f098d", + "url": "https://api.github.com/repos/symfony/clock/zipball/b81435fbd6648ea425d1ee96a2d8e68f4ceacd24", + "reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24", "shasum": "" }, "require": { @@ -6199,7 +6713,7 @@ "time" ], "support": { - "source": "https://github.com/symfony/clock/tree/v7.1.6" + "source": "https://github.com/symfony/clock/tree/v7.2.0" }, "funding": [ { @@ -6215,20 +6729,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/console", - "version": "v7.1.8", + "version": "v7.2.1", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "ff04e5b5ba043d2badfb308197b9e6b42883fcd5" + "reference": "fefcc18c0f5d0efe3ab3152f15857298868dc2c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/ff04e5b5ba043d2badfb308197b9e6b42883fcd5", - "reference": "ff04e5b5ba043d2badfb308197b9e6b42883fcd5", + "url": "https://api.github.com/repos/symfony/console/zipball/fefcc18c0f5d0efe3ab3152f15857298868dc2c3", + "reference": "fefcc18c0f5d0efe3ab3152f15857298868dc2c3", "shasum": "" }, "require": { @@ -6292,7 +6806,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.1.8" + "source": "https://github.com/symfony/console/tree/v7.2.1" }, "funding": [ { @@ -6308,20 +6822,20 @@ "type": "tidelift" } ], - "time": "2024-11-06T14:23:19+00:00" + "time": "2024-12-11T03:49:26+00:00" }, { "name": "symfony/css-selector", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "4aa4f6b3d6749c14d3aa815eef8226632e7bbc66" + "reference": "601a5ce9aaad7bf10797e3663faefce9e26c24e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/4aa4f6b3d6749c14d3aa815eef8226632e7bbc66", - "reference": "4aa4f6b3d6749c14d3aa815eef8226632e7bbc66", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/601a5ce9aaad7bf10797e3663faefce9e26c24e2", + "reference": "601a5ce9aaad7bf10797e3663faefce9e26c24e2", "shasum": "" }, "require": { @@ -6357,7 +6871,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v7.1.6" + "source": "https://github.com/symfony/css-selector/tree/v7.2.0" }, "funding": [ { @@ -6373,20 +6887,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" + "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", + "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", "shasum": "" }, "require": { @@ -6394,12 +6908,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -6424,7 +6938,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1" }, "funding": [ { @@ -6440,20 +6954,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/dom-crawler", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "794ddd5481ba15d8a04132c95e211cd5656e09fb" + "reference": "b176e1f1f550ef44c94eb971bf92488de08f7c6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/794ddd5481ba15d8a04132c95e211cd5656e09fb", - "reference": "794ddd5481ba15d8a04132c95e211cd5656e09fb", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/b176e1f1f550ef44c94eb971bf92488de08f7c6b", + "reference": "b176e1f1f550ef44c94eb971bf92488de08f7c6b", "shasum": "" }, "require": { @@ -6491,7 +7005,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v7.1.6" + "source": "https://github.com/symfony/dom-crawler/tree/v7.2.0" }, "funding": [ { @@ -6507,20 +7021,20 @@ "type": "tidelift" } ], - "time": "2024-10-25T15:11:02+00:00" + "time": "2024-11-13T16:15:23+00:00" }, { "name": "symfony/error-handler", - "version": "v7.1.7", + "version": "v7.2.1", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "010e44661f4c6babaf8c4862fe68c24a53903342" + "reference": "6150b89186573046167796fa5f3f76601d5145f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/010e44661f4c6babaf8c4862fe68c24a53903342", - "reference": "010e44661f4c6babaf8c4862fe68c24a53903342", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/6150b89186573046167796fa5f3f76601d5145f8", + "reference": "6150b89186573046167796fa5f3f76601d5145f8", "shasum": "" }, "require": { @@ -6566,7 +7080,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.7" + "source": "https://github.com/symfony/error-handler/tree/v7.2.1" }, "funding": [ { @@ -6582,20 +7096,20 @@ "type": "tidelift" } ], - "time": "2024-11-05T15:34:55+00:00" + "time": "2024-12-07T08:50:44+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "87254c78dd50721cfd015b62277a8281c5589702" + "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/87254c78dd50721cfd015b62277a8281c5589702", - "reference": "87254c78dd50721cfd015b62277a8281c5589702", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/910c5db85a5356d0fea57680defec4e99eb9c8c1", + "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1", "shasum": "" }, "require": { @@ -6646,7 +7160,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.1.6" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.2.0" }, "funding": [ { @@ -6662,20 +7176,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" + "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7642f5e970b672283b7823222ae8ef8bbc160b9f", + "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f", "shasum": "" }, "require": { @@ -6684,12 +7198,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -6722,7 +7236,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.1" }, "funding": [ { @@ -6738,20 +7252,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/finder", - "version": "v7.1.6", + "version": "v7.2.2", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "2cb89664897be33f78c65d3d2845954c8d7a43b8" + "reference": "87a71856f2f56e4100373e92529eed3171695cfb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/2cb89664897be33f78c65d3d2845954c8d7a43b8", - "reference": "2cb89664897be33f78c65d3d2845954c8d7a43b8", + "url": "https://api.github.com/repos/symfony/finder/zipball/87a71856f2f56e4100373e92529eed3171695cfb", + "reference": "87a71856f2f56e4100373e92529eed3171695cfb", "shasum": "" }, "require": { @@ -6786,7 +7300,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.1.6" + "source": "https://github.com/symfony/finder/tree/v7.2.2" }, "funding": [ { @@ -6802,24 +7316,25 @@ "type": "tidelift" } ], - "time": "2024-10-01T08:31:23+00:00" + "time": "2024-12-30T19:00:17+00:00" }, { "name": "symfony/http-foundation", - "version": "v7.1.8", + "version": "v7.2.2", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "f4419ec69ccfc3f725a4de7c20e4e57626d10112" + "reference": "62d1a43796ca3fea3f83a8470dfe63a4af3bc588" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f4419ec69ccfc3f725a4de7c20e4e57626d10112", - "reference": "f4419ec69ccfc3f725a4de7c20e4e57626d10112", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/62d1a43796ca3fea3f83a8470dfe63a4af3bc588", + "reference": "62d1a43796ca3fea3f83a8470dfe63a4af3bc588", "shasum": "" }, "require": { "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3.0", "symfony/polyfill-mbstring": "~1.1", "symfony/polyfill-php83": "^1.27" }, @@ -6863,7 +7378,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.1.8" + "source": "https://github.com/symfony/http-foundation/tree/v7.2.2" }, "funding": [ { @@ -6879,20 +7394,20 @@ "type": "tidelift" } ], - "time": "2024-11-09T09:16:45+00:00" + "time": "2024-12-30T19:00:17+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.1.8", + "version": "v7.2.2", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "33fef24e3dc79d6d30bf4936531f2f4bd2ca189e" + "reference": "3c432966bd8c7ec7429663105f5a02d7e75b4306" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/33fef24e3dc79d6d30bf4936531f2f4bd2ca189e", - "reference": "33fef24e3dc79d6d30bf4936531f2f4bd2ca189e", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/3c432966bd8c7ec7429663105f5a02d7e75b4306", + "reference": "3c432966bd8c7ec7429663105f5a02d7e75b4306", "shasum": "" }, "require": { @@ -6921,7 +7436,7 @@ "symfony/twig-bridge": "<6.4", "symfony/validator": "<6.4", "symfony/var-dumper": "<6.4", - "twig/twig": "<3.0.4" + "twig/twig": "<3.12" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" @@ -6949,7 +7464,7 @@ "symfony/validator": "^6.4|^7.0", "symfony/var-dumper": "^6.4|^7.0", "symfony/var-exporter": "^6.4|^7.0", - "twig/twig": "^3.0.4" + "twig/twig": "^3.12" }, "type": "library", "autoload": { @@ -6977,7 +7492,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.8" + "source": "https://github.com/symfony/http-kernel/tree/v7.2.2" }, "funding": [ { @@ -6993,20 +7508,20 @@ "type": "tidelift" } ], - "time": "2024-11-13T14:25:32+00:00" + "time": "2024-12-31T14:59:40+00:00" }, { "name": "symfony/mailer", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "69c9948451fb3a6a4d47dc8261d1794734e76cdd" + "reference": "e4d358702fb66e4c8a2af08e90e7271a62de39cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/69c9948451fb3a6a4d47dc8261d1794734e76cdd", - "reference": "69c9948451fb3a6a4d47dc8261d1794734e76cdd", + "url": "https://api.github.com/repos/symfony/mailer/zipball/e4d358702fb66e4c8a2af08e90e7271a62de39cc", + "reference": "e4d358702fb66e4c8a2af08e90e7271a62de39cc", "shasum": "" }, "require": { @@ -7015,7 +7530,7 @@ "psr/event-dispatcher": "^1", "psr/log": "^1|^2|^3", "symfony/event-dispatcher": "^6.4|^7.0", - "symfony/mime": "^6.4|^7.0", + "symfony/mime": "^7.2", "symfony/service-contracts": "^2.5|^3" }, "conflict": { @@ -7057,7 +7572,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v7.1.6" + "source": "https://github.com/symfony/mailer/tree/v7.2.0" }, "funding": [ { @@ -7073,20 +7588,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-11-25T15:21:05+00:00" }, { "name": "symfony/mime", - "version": "v7.1.6", + "version": "v7.2.1", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "caa1e521edb2650b8470918dfe51708c237f0598" + "reference": "7f9617fcf15cb61be30f8b252695ed5e2bfac283" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/caa1e521edb2650b8470918dfe51708c237f0598", - "reference": "caa1e521edb2650b8470918dfe51708c237f0598", + "url": "https://api.github.com/repos/symfony/mime/zipball/7f9617fcf15cb61be30f8b252695ed5e2bfac283", + "reference": "7f9617fcf15cb61be30f8b252695ed5e2bfac283", "shasum": "" }, "require": { @@ -7141,7 +7656,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.1.6" + "source": "https://github.com/symfony/mime/tree/v7.2.1" }, "funding": [ { @@ -7157,20 +7672,20 @@ "type": "tidelift" } ], - "time": "2024-10-25T15:11:02+00:00" + "time": "2024-12-07T08:50:44+00:00" }, { "name": "symfony/options-resolver", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "85e95eeede2d41cd146146e98c9c81d9214cae85" + "reference": "7da8fbac9dcfef75ffc212235d76b2754ce0cf50" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/85e95eeede2d41cd146146e98c9c81d9214cae85", - "reference": "85e95eeede2d41cd146146e98c9c81d9214cae85", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/7da8fbac9dcfef75ffc212235d76b2754ce0cf50", + "reference": "7da8fbac9dcfef75ffc212235d76b2754ce0cf50", "shasum": "" }, "require": { @@ -7208,7 +7723,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v7.1.6" + "source": "https://github.com/symfony/options-resolver/tree/v7.2.0" }, "funding": [ { @@ -7224,7 +7739,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-11-20T11:17:29+00:00" }, { "name": "symfony/polyfill-ctype", @@ -7252,8 +7767,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -7328,8 +7843,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -7407,8 +7922,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -7489,8 +8004,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -7573,8 +8088,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -7647,8 +8162,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -7727,8 +8242,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -7809,8 +8324,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -7864,16 +8379,16 @@ }, { "name": "symfony/process", - "version": "v7.1.8", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "42783370fda6e538771f7c7a36e9fa2ee3a84892" + "reference": "d34b22ba9390ec19d2dd966c40aa9e8462f27a7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/42783370fda6e538771f7c7a36e9fa2ee3a84892", - "reference": "42783370fda6e538771f7c7a36e9fa2ee3a84892", + "url": "https://api.github.com/repos/symfony/process/zipball/d34b22ba9390ec19d2dd966c40aa9e8462f27a7e", + "reference": "d34b22ba9390ec19d2dd966c40aa9e8462f27a7e", "shasum": "" }, "require": { @@ -7905,7 +8420,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.1.8" + "source": "https://github.com/symfony/process/tree/v7.2.0" }, "funding": [ { @@ -7921,20 +8436,20 @@ "type": "tidelift" } ], - "time": "2024-11-06T14:23:19+00:00" + "time": "2024-11-06T14:24:19+00:00" }, { "name": "symfony/psr-http-message-bridge", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "f16471bb19f6685b9ccf0a2c03c213840ae68cd6" + "reference": "03f2f72319e7acaf2a9f6fcbe30ef17eec51594f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/f16471bb19f6685b9ccf0a2c03c213840ae68cd6", - "reference": "f16471bb19f6685b9ccf0a2c03c213840ae68cd6", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/03f2f72319e7acaf2a9f6fcbe30ef17eec51594f", + "reference": "03f2f72319e7acaf2a9f6fcbe30ef17eec51594f", "shasum": "" }, "require": { @@ -7988,7 +8503,7 @@ "psr-7" ], "support": { - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.1.6" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.2.0" }, "funding": [ { @@ -8004,20 +8519,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-26T08:57:56+00:00" }, { "name": "symfony/routing", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "66a2c469f6c22d08603235c46a20007c0701ea0a" + "reference": "e10a2450fa957af6c448b9b93c9010a4e4c0725e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/66a2c469f6c22d08603235c46a20007c0701ea0a", - "reference": "66a2c469f6c22d08603235c46a20007c0701ea0a", + "url": "https://api.github.com/repos/symfony/routing/zipball/e10a2450fa957af6c448b9b93c9010a4e4c0725e", + "reference": "e10a2450fa957af6c448b9b93c9010a4e4c0725e", "shasum": "" }, "require": { @@ -8069,7 +8584,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v7.1.6" + "source": "https://github.com/symfony/routing/tree/v7.2.0" }, "funding": [ { @@ -8085,20 +8600,20 @@ "type": "tidelift" } ], - "time": "2024-10-01T08:31:23+00:00" + "time": "2024-11-25T11:08:51+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" + "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e53260aabf78fb3d63f8d79d69ece59f80d5eda0", + "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0", "shasum": "" }, "require": { @@ -8111,12 +8626,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -8152,7 +8667,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.5.1" }, "funding": [ { @@ -8168,20 +8683,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/string", - "version": "v7.1.8", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "591ebd41565f356fcd8b090fe64dbb5878f50281" + "reference": "446e0d146f991dde3e73f45f2c97a9faad773c82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/591ebd41565f356fcd8b090fe64dbb5878f50281", - "reference": "591ebd41565f356fcd8b090fe64dbb5878f50281", + "url": "https://api.github.com/repos/symfony/string/zipball/446e0d146f991dde3e73f45f2c97a9faad773c82", + "reference": "446e0d146f991dde3e73f45f2c97a9faad773c82", "shasum": "" }, "require": { @@ -8239,7 +8754,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.1.8" + "source": "https://github.com/symfony/string/tree/v7.2.0" }, "funding": [ { @@ -8255,24 +8770,25 @@ "type": "tidelift" } ], - "time": "2024-11-13T13:31:21+00:00" + "time": "2024-11-13T13:31:26+00:00" }, { "name": "symfony/translation", - "version": "v7.1.6", + "version": "v7.2.2", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "b9f72ab14efdb6b772f85041fa12f820dee8d55f" + "reference": "e2674a30132b7cc4d74540d6c2573aa363f05923" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/b9f72ab14efdb6b772f85041fa12f820dee8d55f", - "reference": "b9f72ab14efdb6b772f85041fa12f820dee8d55f", + "url": "https://api.github.com/repos/symfony/translation/zipball/e2674a30132b7cc4d74540d6c2573aa363f05923", + "reference": "e2674a30132b7cc4d74540d6c2573aa363f05923", "shasum": "" }, "require": { "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/translation-contracts": "^2.5|^3.0" }, @@ -8333,7 +8849,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v7.1.6" + "source": "https://github.com/symfony/translation/tree/v7.2.2" }, "funding": [ { @@ -8349,20 +8865,20 @@ "type": "tidelift" } ], - "time": "2024-09-28T12:35:13+00:00" + "time": "2024-12-07T08:18:10+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a" + "reference": "4667ff3bd513750603a09c8dedbea942487fb07c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", - "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/4667ff3bd513750603a09c8dedbea942487fb07c", + "reference": "4667ff3bd513750603a09c8dedbea942487fb07c", "shasum": "" }, "require": { @@ -8370,12 +8886,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -8411,7 +8927,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/translation-contracts/tree/v3.5.1" }, "funding": [ { @@ -8427,20 +8943,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/uid", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "65befb3bb2d503bbffbd08c815aa38b472999917" + "reference": "2d294d0c48df244c71c105a169d0190bfb080426" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/65befb3bb2d503bbffbd08c815aa38b472999917", - "reference": "65befb3bb2d503bbffbd08c815aa38b472999917", + "url": "https://api.github.com/repos/symfony/uid/zipball/2d294d0c48df244c71c105a169d0190bfb080426", + "reference": "2d294d0c48df244c71c105a169d0190bfb080426", "shasum": "" }, "require": { @@ -8485,7 +9001,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v7.1.6" + "source": "https://github.com/symfony/uid/tree/v7.2.0" }, "funding": [ { @@ -8501,20 +9017,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/var-dumper", - "version": "v7.1.8", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "7bb01a47b1b00428d32b5e7b4d3b2d1aa58d3db8" + "reference": "c6a22929407dec8765d6e2b6ff85b800b245879c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/7bb01a47b1b00428d32b5e7b4d3b2d1aa58d3db8", - "reference": "7bb01a47b1b00428d32b5e7b4d3b2d1aa58d3db8", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c6a22929407dec8765d6e2b6ff85b800b245879c", + "reference": "c6a22929407dec8765d6e2b6ff85b800b245879c", "shasum": "" }, "require": { @@ -8530,7 +9046,7 @@ "symfony/http-kernel": "^6.4|^7.0", "symfony/process": "^6.4|^7.0", "symfony/uid": "^6.4|^7.0", - "twig/twig": "^3.0.4" + "twig/twig": "^3.12" }, "bin": [ "Resources/bin/var-dump-server" @@ -8568,7 +9084,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.1.8" + "source": "https://github.com/symfony/var-dumper/tree/v7.2.0" }, "funding": [ { @@ -8584,35 +9100,37 @@ "type": "tidelift" } ], - "time": "2024-11-08T15:46:42+00:00" + "time": "2024-11-08T15:48:14+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", - "version": "v2.2.7", + "version": "v2.3.0", "source": { "type": "git", "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb" + "reference": "0d72ac1c00084279c1816675284073c5a337c20d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb", - "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0d72ac1c00084279c1816675284073c5a337c20d", + "reference": "0d72ac1c00084279c1816675284073c5a337c20d", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", - "php": "^5.5 || ^7.0 || ^8.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0" + "php": "^7.4 || ^8.0", + "symfony/css-selector": "^5.4 || ^6.0 || ^7.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^8.5.21 || ^9.5.10" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -8635,9 +9153,9 @@ "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", "support": { "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", - "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7" + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.3.0" }, - "time": "2023-12-08T13:03:43+00:00" + "time": "2024-12-21T16:25:41+00:00" }, { "name": "uwil/admin-secure-laravel", @@ -8975,16 +9493,16 @@ }, { "name": "uwil/unit-tests-laravel", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "git@lab.s-web.fr:ldc-web/projets/unit-tests-laravel.git", - "reference": "0e80fcdadc858f7238b6863ffa85bf47191e3172" + "reference": "262c3b07b5a8bb9b36f3ce60f46e253f1be15efc" }, "dist": { "type": "zip", - "url": "https://lab.s-web.fr/api/v4/projects/173/packages/composer/archives/uwil/unit-tests-laravel.zip?sha=0e80fcdadc858f7238b6863ffa85bf47191e3172", - "reference": "0e80fcdadc858f7238b6863ffa85bf47191e3172", + "url": "https://lab.s-web.fr/api/v4/projects/173/packages/composer/archives/uwil/unit-tests-laravel.zip?sha=262c3b07b5a8bb9b36f3ce60f46e253f1be15efc", + "reference": "262c3b07b5a8bb9b36f3ce60f46e253f1be15efc", "shasum": "" }, "require": { @@ -9168,16 +9686,16 @@ }, { "name": "voku/portable-ascii", - "version": "2.0.1", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/voku/portable-ascii.git", - "reference": "b56450eed252f6801410d810c8e1727224ae0743" + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", - "reference": "b56450eed252f6801410d810c8e1727224ae0743", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", "shasum": "" }, "require": { @@ -9202,7 +9720,7 @@ "authors": [ { "name": "Lars Moelleken", - "homepage": "http://www.moelleken.org/" + "homepage": "https://www.moelleken.org/" } ], "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", @@ -9214,7 +9732,7 @@ ], "support": { "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/2.0.1" + "source": "https://github.com/voku/portable-ascii/tree/2.0.3" }, "funding": [ { @@ -9238,7 +9756,7 @@ "type": "tidelift" } ], - "time": "2022-03-08T17:03:00+00:00" + "time": "2024-11-21T01:49:47+00:00" }, { "name": "webmozart/assert", @@ -9652,16 +10170,16 @@ }, { "name": "dragon-code/support", - "version": "6.15.0", + "version": "6.15.1", "source": { "type": "git", "url": "https://github.com/TheDragonCode/support.git", - "reference": "087d7baaa963cdbb24e901dc27e10cdc31c2529c" + "reference": "dd68d435d64873797a82b318021d49ba05e917bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TheDragonCode/support/zipball/087d7baaa963cdbb24e901dc27e10cdc31c2529c", - "reference": "087d7baaa963cdbb24e901dc27e10cdc31c2529c", + "url": "https://api.github.com/repos/TheDragonCode/support/zipball/dd68d435d64873797a82b318021d49ba05e917bf", + "reference": "dd68d435d64873797a82b318021d49ba05e917bf", "shasum": "" }, "require": { @@ -9747,20 +10265,20 @@ "type": "yoomoney" } ], - "time": "2024-09-07T13:27:37+00:00" + "time": "2024-12-18T12:33:59+00:00" }, { "name": "fakerphp/faker", - "version": "v1.24.0", + "version": "v1.24.1", "source": { "type": "git", "url": "https://github.com/FakerPHP/Faker.git", - "reference": "a136842a532bac9ecd8a1c723852b09915d7db50" + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/a136842a532bac9ecd8a1c723852b09915d7db50", - "reference": "a136842a532bac9ecd8a1c723852b09915d7db50", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", "shasum": "" }, "require": { @@ -9808,9 +10326,9 @@ ], "support": { "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.24.0" + "source": "https://github.com/FakerPHP/Faker/tree/v1.24.1" }, - "time": "2024-11-07T15:11:20+00:00" + "time": "2024-11-21T13:46:39+00:00" }, { "name": "filp/whoops", @@ -10013,16 +10531,16 @@ }, { "name": "larastan/larastan", - "version": "v2.9.11", + "version": "v2.9.12", "source": { "type": "git", "url": "https://github.com/larastan/larastan.git", - "reference": "54eccd35d1732b9ee4392c25aec606a6a9c521e7" + "reference": "19012b39fbe4dede43dbe0c126d9681827a5e908" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/larastan/larastan/zipball/54eccd35d1732b9ee4392c25aec606a6a9c521e7", - "reference": "54eccd35d1732b9ee4392c25aec606a6a9c521e7", + "url": "https://api.github.com/repos/larastan/larastan/zipball/19012b39fbe4dede43dbe0c126d9681827a5e908", + "reference": "19012b39fbe4dede43dbe0c126d9681827a5e908", "shasum": "" }, "require": { @@ -10036,7 +10554,7 @@ "illuminate/support": "^9.52.16 || ^10.28.0 || ^11.16", "php": "^8.0.2", "phpmyadmin/sql-parser": "^5.9.0", - "phpstan/phpstan": "^1.12.5" + "phpstan/phpstan": "^1.12.11" }, "require-dev": { "doctrine/coding-standard": "^12.0", @@ -10053,13 +10571,13 @@ }, "type": "phpstan-extension", "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - }, "phpstan": { "includes": [ "extension.neon" ] + }, + "branch-alias": { + "dev-master": "2.0-dev" } }, "autoload": { @@ -10081,7 +10599,7 @@ "email": "enunomaduro@gmail.com" } ], - "description": "Larastan - Discover bugs in your code without running it. A phpstan/phpstan wrapper for Laravel", + "description": "Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel", "keywords": [ "PHPStan", "code analyse", @@ -10094,40 +10612,28 @@ ], "support": { "issues": "https://github.com/larastan/larastan/issues", - "source": "https://github.com/larastan/larastan/tree/v2.9.11" + "source": "https://github.com/larastan/larastan/tree/v2.9.12" }, "funding": [ - { - "url": "https://www.paypal.com/paypalme/enunomaduro", - "type": "custom" - }, { "url": "https://github.com/canvural", "type": "github" - }, - { - "url": "https://github.com/nunomaduro", - "type": "github" - }, - { - "url": "https://www.patreon.com/nunomaduro", - "type": "patreon" } ], - "time": "2024-11-11T23:11:00+00:00" + "time": "2024-11-26T23:09:02+00:00" }, { "name": "laravel-lang/attributes", - "version": "2.11.1", + "version": "2.11.4", "source": { "type": "git", "url": "https://github.com/Laravel-Lang/attributes.git", - "reference": "b60817d0361ec2fe29f100f76cc9bd0c13a36ec9" + "reference": "5f8abba8adaca2f6b5527843a515652bef0ff007" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Laravel-Lang/attributes/zipball/b60817d0361ec2fe29f100f76cc9bd0c13a36ec9", - "reference": "b60817d0361ec2fe29f100f76cc9bd0c13a36ec9", + "url": "https://api.github.com/repos/Laravel-Lang/attributes/zipball/5f8abba8adaca2f6b5527843a515652bef0ff007", + "reference": "5f8abba8adaca2f6b5527843a515652bef0ff007", "shasum": "" }, "require": { @@ -10181,9 +10687,9 @@ ], "support": { "issues": "https://github.com/Laravel-Lang/attributes/issues", - "source": "https://github.com/Laravel-Lang/attributes/tree/2.11.1" + "source": "https://github.com/Laravel-Lang/attributes/tree/2.11.4" }, - "time": "2024-10-02T14:07:29+00:00" + "time": "2025-01-06T14:39:45+00:00" }, { "name": "laravel-lang/common", @@ -10502,16 +11008,16 @@ }, { "name": "laravel/pint", - "version": "v1.18.1", + "version": "v1.19.0", "source": { "type": "git", "url": "https://github.com/laravel/pint.git", - "reference": "35c00c05ec43e6b46d295efc0f4386ceb30d50d9" + "reference": "8169513746e1bac70c85d6ea1524d9225d4886f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/35c00c05ec43e6b46d295efc0f4386ceb30d50d9", - "reference": "35c00c05ec43e6b46d295efc0f4386ceb30d50d9", + "url": "https://api.github.com/repos/laravel/pint/zipball/8169513746e1bac70c85d6ea1524d9225d4886f0", + "reference": "8169513746e1bac70c85d6ea1524d9225d4886f0", "shasum": "" }, "require": { @@ -10522,13 +11028,13 @@ "php": "^8.1.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.64.0", - "illuminate/view": "^10.48.20", - "larastan/larastan": "^2.9.8", - "laravel-zero/framework": "^10.4.0", + "friendsofphp/php-cs-fixer": "^3.66.0", + "illuminate/view": "^10.48.25", + "larastan/larastan": "^2.9.12", + "laravel-zero/framework": "^10.48.25", "mockery/mockery": "^1.6.12", - "nunomaduro/termwind": "^1.15.1", - "pestphp/pest": "^2.35.1" + "nunomaduro/termwind": "^1.17.0", + "pestphp/pest": "^2.36.0" }, "bin": [ "builds/pint" @@ -10564,20 +11070,20 @@ "issues": "https://github.com/laravel/pint/issues", "source": "https://github.com/laravel/pint" }, - "time": "2024-09-24T17:22:50+00:00" + "time": "2024-12-30T16:20:10+00:00" }, { "name": "laravel/sail", - "version": "v1.38.0", + "version": "v1.39.1", "source": { "type": "git", "url": "https://github.com/laravel/sail.git", - "reference": "d17abae06661dd6c46d13627b1683a2924259145" + "reference": "1a3c7291bc88de983b66688919a4d298d68ddec7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/sail/zipball/d17abae06661dd6c46d13627b1683a2924259145", - "reference": "d17abae06661dd6c46d13627b1683a2924259145", + "url": "https://api.github.com/repos/laravel/sail/zipball/1a3c7291bc88de983b66688919a4d298d68ddec7", + "reference": "1a3c7291bc88de983b66688919a4d298d68ddec7", "shasum": "" }, "require": { @@ -10627,20 +11133,20 @@ "issues": "https://github.com/laravel/sail/issues", "source": "https://github.com/laravel/sail" }, - "time": "2024-11-11T20:16:51+00:00" + "time": "2024-11-27T15:42:28+00:00" }, { "name": "laravel/telescope", - "version": "v5.2.5", + "version": "v5.2.6", "source": { "type": "git", "url": "https://github.com/laravel/telescope.git", - "reference": "f68386a8d816c9e3a011b8301bfd263213bf00d4" + "reference": "7ee46fbea8e3b01108575c8edf7377abddfe8bb9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/telescope/zipball/f68386a8d816c9e3a011b8301bfd263213bf00d4", - "reference": "f68386a8d816c9e3a011b8301bfd263213bf00d4", + "url": "https://api.github.com/repos/laravel/telescope/zipball/7ee46fbea8e3b01108575c8edf7377abddfe8bb9", + "reference": "7ee46fbea8e3b01108575c8edf7377abddfe8bb9", "shasum": "" }, "require": { @@ -10694,9 +11200,9 @@ ], "support": { "issues": "https://github.com/laravel/telescope/issues", - "source": "https://github.com/laravel/telescope/tree/v5.2.5" + "source": "https://github.com/laravel/telescope/tree/v5.2.6" }, - "time": "2024-10-31T17:06:07+00:00" + "time": "2024-11-25T20:34:58+00:00" }, { "name": "mockery/mockery", @@ -10998,16 +11504,16 @@ }, { "name": "phpmyadmin/sql-parser", - "version": "5.10.1", + "version": "5.10.2", "source": { "type": "git", "url": "https://github.com/phpmyadmin/sql-parser.git", - "reference": "b14fd66496a22d8dd7f7e2791edd9e8674422f17" + "reference": "72afbce7e4b421593b60d2eb7281e37a50734df8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/b14fd66496a22d8dd7f7e2791edd9e8674422f17", - "reference": "b14fd66496a22d8dd7f7e2791edd9e8674422f17", + "url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/72afbce7e4b421593b60d2eb7281e37a50734df8", + "reference": "72afbce7e4b421593b60d2eb7281e37a50734df8", "shasum": "" }, "require": { @@ -11081,7 +11587,7 @@ "type": "other" } ], - "time": "2024-11-10T04:10:31+00:00" + "time": "2024-12-05T15:04:09+00:00" }, { "name": "phpstan/phpdoc-parser", @@ -11132,16 +11638,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.12.10", + "version": "1.12.15", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "fc463b5d0fe906dcf19689be692c65c50406a071" + "reference": "c91d4e8bc056f46cf653656e6f71004b254574d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/fc463b5d0fe906dcf19689be692c65c50406a071", - "reference": "fc463b5d0fe906dcf19689be692c65c50406a071", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/c91d4e8bc056f46cf653656e6f71004b254574d1", + "reference": "c91d4e8bc056f46cf653656e6f71004b254574d1", "shasum": "" }, "require": { @@ -11186,7 +11692,7 @@ "type": "github" } ], - "time": "2024-11-11T15:37:09+00:00" + "time": "2025-01-05T16:40:22+00:00" }, { "name": "phpunit/php-code-coverage", @@ -11511,16 +12017,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.38", + "version": "10.5.41", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "a86773b9e887a67bc53efa9da9ad6e3f2498c132" + "reference": "e76586fa3d49714f230221734b44892e384109d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a86773b9e887a67bc53efa9da9ad6e3f2498c132", - "reference": "a86773b9e887a67bc53efa9da9ad6e3f2498c132", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e76586fa3d49714f230221734b44892e384109d7", + "reference": "e76586fa3d49714f230221734b44892e384109d7", "shasum": "" }, "require": { @@ -11530,7 +12036,7 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.12.0", + "myclabs/deep-copy": "^1.12.1", "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=8.1", @@ -11592,7 +12098,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.38" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.41" }, "funding": [ { @@ -11608,7 +12114,7 @@ "type": "tidelift" } ], - "time": "2024-10-28T13:06:21+00:00" + "time": "2025-01-13T09:33:05+00:00" }, { "name": "sebastian/cli-parser", @@ -12593,27 +13099,27 @@ }, { "name": "spatie/backtrace", - "version": "1.6.2", + "version": "1.7.1", "source": { "type": "git", "url": "https://github.com/spatie/backtrace.git", - "reference": "1a9a145b044677ae3424693f7b06479fc8c137a9" + "reference": "0f2477c520e3729de58e061b8192f161c99f770b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/backtrace/zipball/1a9a145b044677ae3424693f7b06479fc8c137a9", - "reference": "1a9a145b044677ae3424693f7b06479fc8c137a9", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/0f2477c520e3729de58e061b8192f161c99f770b", + "reference": "0f2477c520e3729de58e061b8192f161c99f770b", "shasum": "" }, "require": { - "php": "^7.3|^8.0" + "php": "^7.3 || ^8.0" }, "require-dev": { "ext-json": "*", - "laravel/serializable-closure": "^1.3", - "phpunit/phpunit": "^9.3", - "spatie/phpunit-snapshot-assertions": "^4.2", - "symfony/var-dumper": "^5.1" + "laravel/serializable-closure": "^1.3 || ^2.0", + "phpunit/phpunit": "^9.3 || ^11.4.3", + "spatie/phpunit-snapshot-assertions": "^4.2 || ^5.1.6", + "symfony/var-dumper": "^5.1 || ^6.0 || ^7.0" }, "type": "library", "autoload": { @@ -12640,7 +13146,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/backtrace/tree/1.6.2" + "source": "https://github.com/spatie/backtrace/tree/1.7.1" }, "funding": [ { @@ -12652,20 +13158,20 @@ "type": "other" } ], - "time": "2024-07-22T08:21:24+00:00" + "time": "2024-12-02T13:28:15+00:00" }, { "name": "spatie/error-solutions", - "version": "1.1.1", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/spatie/error-solutions.git", - "reference": "ae7393122eda72eed7cc4f176d1e96ea444f2d67" + "reference": "d239a65235a1eb128dfa0a4e4c4ef032ea11b541" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/error-solutions/zipball/ae7393122eda72eed7cc4f176d1e96ea444f2d67", - "reference": "ae7393122eda72eed7cc4f176d1e96ea444f2d67", + "url": "https://api.github.com/repos/spatie/error-solutions/zipball/d239a65235a1eb128dfa0a4e4c4ef032ea11b541", + "reference": "d239a65235a1eb128dfa0a4e4c4ef032ea11b541", "shasum": "" }, "require": { @@ -12718,7 +13224,7 @@ ], "support": { "issues": "https://github.com/spatie/error-solutions/issues", - "source": "https://github.com/spatie/error-solutions/tree/1.1.1" + "source": "https://github.com/spatie/error-solutions/tree/1.1.2" }, "funding": [ { @@ -12726,20 +13232,20 @@ "type": "github" } ], - "time": "2024-07-25T11:06:04+00:00" + "time": "2024-12-11T09:51:56+00:00" }, { "name": "spatie/flare-client-php", - "version": "1.8.0", + "version": "1.10.0", "source": { "type": "git", "url": "https://github.com/spatie/flare-client-php.git", - "reference": "180f8ca4c0d0d6fc51477bd8c53ce37ab5a96122" + "reference": "140a42b2c5d59ac4ecf8f5b493386a4f2eb28272" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/180f8ca4c0d0d6fc51477bd8c53ce37ab5a96122", - "reference": "180f8ca4c0d0d6fc51477bd8c53ce37ab5a96122", + "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/140a42b2c5d59ac4ecf8f5b493386a4f2eb28272", + "reference": "140a42b2c5d59ac4ecf8f5b493386a4f2eb28272", "shasum": "" }, "require": { @@ -12787,7 +13293,7 @@ ], "support": { "issues": "https://github.com/spatie/flare-client-php/issues", - "source": "https://github.com/spatie/flare-client-php/tree/1.8.0" + "source": "https://github.com/spatie/flare-client-php/tree/1.10.0" }, "funding": [ { @@ -12795,7 +13301,7 @@ "type": "github" } ], - "time": "2024-08-01T08:27:26+00:00" + "time": "2024-12-02T14:30:06+00:00" }, { "name": "spatie/ignition", @@ -12882,16 +13388,16 @@ }, { "name": "spatie/laravel-ignition", - "version": "2.8.0", + "version": "2.9.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-ignition.git", - "reference": "3c067b75bfb50574db8f7e2c3978c65eed71126c" + "reference": "62042df15314b829d0f26e02108f559018e2aad0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/3c067b75bfb50574db8f7e2c3978c65eed71126c", - "reference": "3c067b75bfb50574db8f7e2c3978c65eed71126c", + "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/62042df15314b829d0f26e02108f559018e2aad0", + "reference": "62042df15314b829d0f26e02108f559018e2aad0", "shasum": "" }, "require": { @@ -12922,12 +13428,12 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "Spatie\\LaravelIgnition\\IgnitionServiceProvider" - ], "aliases": { "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare" - } + }, + "providers": [ + "Spatie\\LaravelIgnition\\IgnitionServiceProvider" + ] } }, "autoload": { @@ -12969,20 +13475,20 @@ "type": "github" } ], - "time": "2024-06-12T15:01:18+00:00" + "time": "2024-12-02T08:43:31+00:00" }, { "name": "squizlabs/php_codesniffer", - "version": "3.11.0", + "version": "3.11.2", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "70c08f8d20c0eb4fe56f26644dd94dae76a7f450" + "reference": "1368f4a58c3c52114b86b1abe8f4098869cb0079" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/70c08f8d20c0eb4fe56f26644dd94dae76a7f450", - "reference": "70c08f8d20c0eb4fe56f26644dd94dae76a7f450", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/1368f4a58c3c52114b86b1abe8f4098869cb0079", + "reference": "1368f4a58c3c52114b86b1abe8f4098869cb0079", "shasum": "" }, "require": { @@ -13049,7 +13555,7 @@ "type": "open_collective" } ], - "time": "2024-11-12T09:53:29+00:00" + "time": "2024-12-11T16:04:26+00:00" }, { "name": "symfony/polyfill-php81", @@ -13071,8 +13577,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -13129,20 +13635,21 @@ }, { "name": "symfony/yaml", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "3ced3f29e4f0d6bce2170ff26719f1fe9aacc671" + "reference": "099581e99f557e9f16b43c5916c26380b54abb22" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/3ced3f29e4f0d6bce2170ff26719f1fe9aacc671", - "reference": "3ced3f29e4f0d6bce2170ff26719f1fe9aacc671", + "url": "https://api.github.com/repos/symfony/yaml/zipball/099581e99f557e9f16b43c5916c26380b54abb22", + "reference": "099581e99f557e9f16b43c5916c26380b54abb22", "shasum": "" }, "require": { "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3.0", "symfony/polyfill-ctype": "^1.8" }, "conflict": { @@ -13180,7 +13687,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v7.1.6" + "source": "https://github.com/symfony/yaml/tree/v7.2.0" }, "funding": [ { @@ -13196,7 +13703,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-10-23T06:56:12+00:00" }, { "name": "thedoctor0/laravel-factory-generator", diff --git a/config/scout.php b/config/scout.php new file mode 100644 index 00000000..35e2cee3 --- /dev/null +++ b/config/scout.php @@ -0,0 +1,117 @@ + env('SCOUT_DRIVER', 'meilisearch'), + + /* + |-------------------------------------------------------------------------- + | Index Prefix + |-------------------------------------------------------------------------- + | + | Here you may specify a prefix that will be applied to all search index + | names used by Scout. This prefix may be useful if you have multiple + | "tenants" or applications sharing the same search infrastructure. + | + */ + + 'prefix' => env('SCOUT_PREFIX', ''), + + /* + |-------------------------------------------------------------------------- + | Queue Data Syncing + |-------------------------------------------------------------------------- + | + | This option allows you to control if the operations that sync your data + | with your search engines are queued. When this is set to "true" then + | all automatic data syncing will get queued for better performance. + | + */ + + 'queue' => env('SCOUT_QUEUE', false), + + /* + |-------------------------------------------------------------------------- + | Database Transactions + |-------------------------------------------------------------------------- + | + | This configuration option determines if your data will only be synced + | with your search indexes after every open database transaction has + | been committed, thus preventing any discarded data from syncing. + | + */ + + 'after_commit' => true, + + /* + |-------------------------------------------------------------------------- + | Chunk Sizes + |-------------------------------------------------------------------------- + | + | These options allow you to control the maximum chunk size when you are + | mass importing data into the search engine. This allows you to fine + | tune each of these chunk sizes based on the power of the servers. + | + */ + + 'chunk' => [ + 'searchable' => 500, + 'unsearchable' => 500, + ], + + /* + |-------------------------------------------------------------------------- + | Soft Deletes + |-------------------------------------------------------------------------- + | + | This option allows to control whether to keep soft deleted records in + | the search indexes. Maintaining soft deleted records can be useful + | if your application still needs to search for the records later. + | + */ + + 'soft_delete' => false, + + /* + |-------------------------------------------------------------------------- + | Meilisearch Configuration + |-------------------------------------------------------------------------- + | + | Here you may configure your Meilisearch settings. Meilisearch is an open + | source search engine with minimal configuration. Below, you can state + | the host and key information for your own Meilisearch installation. + | + | See: https://www.meilisearch.com/docs/learn/configuration/instance_options#all-instance-options + | + */ + + 'meilisearch' => [ + 'host' => env('MEILISEARCH_HOST', 'http://localhost:7700'), + 'key' => env('MEILISEARCH_KEY'), + 'index-settings' => [ + Product::class => Product::$searchSettings, + Recipe::class => Recipe::$searchSettings, + News::class => News::$searchSettings, + NewsBreeding::class => NewsBreeding::$searchSettings, + ], + ], +]; diff --git a/database/migrations/2024_21_27_123913_add_search_type_static_pages_table.php b/database/migrations/2024_21_27_123913_add_search_type_static_pages_table.php new file mode 100644 index 00000000..a2f1973d --- /dev/null +++ b/database/migrations/2024_21_27_123913_add_search_type_static_pages_table.php @@ -0,0 +1,44 @@ +forceCreateQuietly( + [ + 'type' => StaticPageType::search, + 'seo_title' => sprintf('Seo title pour la page %s', StaticPageType::search->label()), + 'seo_description' => sprintf('Seo description pour la page %s', StaticPageType::search->label()), + 'title' => StaticPageType::search->label(), + 'slug' => Str::of(StaticPageType::search->label())->slug(), + 'subtitle' => null, + 'picture_alt' => null, + 'picture_title' => null, + 'picture' => null, + 'content' => null, + 'data' => [], + ] + ); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down(): void + { + DB::statement('DELETE FROM `static_pages` WHERE `type` LIKE "' . StaticPageType::search->value() . '"'); + } +}; diff --git a/database/seeders/Mandatory/StaticPageSeeder.php b/database/seeders/Mandatory/StaticPageSeeder.php index d418c640..0aeb3d4b 100644 --- a/database/seeders/Mandatory/StaticPageSeeder.php +++ b/database/seeders/Mandatory/StaticPageSeeder.php @@ -106,6 +106,7 @@ class StaticPageSeeder extends Seeder 'required' => true ] ]); + $this->seedStaticPage(StaticPageType::search); } /** diff --git a/manifest.yaml b/manifest.yaml index 4a4fe4b4..8abb57b7 100644 --- a/manifest.yaml +++ b/manifest.yaml @@ -43,7 +43,10 @@ data: GOOGLE_RECAPTCHA_PRIVATE: "${APP_GOOGLE_RECAPTCHA_PRIVATE}" GOOGLE_RECAPTCHA_PUBLIC: "${APP_GOOGLE_RECAPTCHA_PUBLIC}" GOOGLE_RECAPTCHA_VERSION: "${APP_GOOGLE_RECAPTCHA_VERSION}" - + MEILISEARCH_HOST: "meilisearch.common-services:7700" + MEILISEARCH_KEY: "${APP_MEILISEARCH_KEY}" + SCOUT_PREFIX: "${APP_SCOUT_PREFIX}" + SCOUT_QUEUE: "${APP_SCOUT_QUEUE}" --- apiVersion: v1 kind: PersistentVolumeClaim @@ -52,11 +55,10 @@ metadata: spec: storageClassName: "csi-cinder-classic" accessModes: - - ReadWriteOnce + - ReadWriteOnce resources: requests: storage: $APP_PVC_SIZE - --- apiVersion: apps/v1 kind: Deployment @@ -73,51 +75,45 @@ spec: app: ${CI_PROJECT_PATH_SLUG}-app spec: containers: - - name: ${CI_PROJECT_PATH_SLUG}-container - image: $IMAGE_TAG - envFrom: - - configMapRef: - name: ${CI_PROJECT_PATH_SLUG}-config-map - volumeMounts: - - name: storage - mountPath: /app/srcs/storage - - name: ${CI_PROJECT_PATH_SLUG}-queue-worker - image: $IMAGE_TAG - lifecycle: - preStop: - exec: - command: - [ - "/bin/sh", - "-c", - "kill -s TERM 1; while test $(ps ax | grep -v grep | grep bash | wc -l) -gt 0; do sleep 2s; done", - ] - resources: - limits: - memory: 512Mi - cpu: "1" - command: - - "bash" - args: - - "k8s-queues.sh" - envFrom: - - configMapRef: - name: ${CI_PROJECT_PATH_SLUG}-config-map - volumeMounts: - - name: storage - mountPath: /app/srcs/storage + - name: ${CI_PROJECT_PATH_SLUG}-container + image: $IMAGE_TAG + envFrom: + - configMapRef: + name: ${CI_PROJECT_PATH_SLUG}-config-map + volumeMounts: + - name: storage + mountPath: /app/srcs/storage + - name: ${CI_PROJECT_PATH_SLUG}-queue-worker + image: $IMAGE_TAG + lifecycle: + preStop: + exec: + command: [ "/bin/sh", "-c", "kill -s TERM 1; while test $(ps ax | grep -v grep | grep bash | wc -l) -gt 0; do sleep 2s; done" ] + resources: + limits: + memory: 512Mi + cpu: "1" + command: + - "bash" + args: + - "k8s-queues.sh" + envFrom: + - configMapRef: + name: ${CI_PROJECT_PATH_SLUG}-config-map + volumeMounts: + - name: storage + mountPath: /app/srcs/storage imagePullSecrets: - - name: docker-registry-credentials + - name: docker-registry-credentials securityContext: runAsUser: 33 runAsGroup: 33 fsGroup: 33 fsGroupChangePolicy: "OnRootMismatch" volumes: - - name: storage - persistentVolumeClaim: - claimName: ${CI_PROJECT_PATH_SLUG}-pvc-storage - + - name: storage + persistentVolumeClaim: + claimName: ${CI_PROJECT_PATH_SLUG}-pvc-storage --- apiVersion: v1 kind: Service @@ -127,9 +123,8 @@ spec: selector: app: ${CI_PROJECT_PATH_SLUG}-app ports: - - port: 80 - targetPort: 443 - + - port: 80 + targetPort: 443 --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute @@ -137,19 +132,18 @@ metadata: name: ${CI_PROJECT_PATH_SLUG}-ingress-route spec: entryPoints: - - web - - websecure + - web + - websecure routes: - - match: Host(`${APP_DOMAIN}`) || Host(`www.${APP_DOMAIN}`) - kind: Rule - services: - - name: ${CI_PROJECT_PATH_SLUG}-service - port: 80 - middlewares: - - name: redirect-no-www-to-www + - match: Host(`${APP_DOMAIN}`) || Host(`www.${APP_DOMAIN}`) + kind: Rule + services: + - name: ${CI_PROJECT_PATH_SLUG}-service + port: 80 + middlewares: + - name: redirect-no-www-to-www tls: secretName: ${CRT_TLS_NAME} - --- apiVersion: batch/v1 kind: CronJob @@ -165,35 +159,35 @@ spec: affinity: podAffinity: requiredDuringSchedulingIgnoredDuringExecution: - - labelSelector: - matchExpressions: - - key: app - operator: In - values: - - ${CI_PROJECT_PATH_SLUG}-app - topologyKey: "kubernetes.io/hostname" - namespaces: [$KUBE_NAMESPACE] + - labelSelector: + matchExpressions: + - key: app + operator: In + values: + - ${CI_PROJECT_PATH_SLUG}-app + topologyKey: "kubernetes.io/hostname" + namespaces: [ $KUBE_NAMESPACE ] containers: - - name: ${CI_PROJECT_PATH_SLUG}-scheduled - image: $IMAGE_TAG - imagePullPolicy: IfNotPresent - command: - - "php" - args: - - "artisan" - - "schedule:run" - envFrom: - - configMapRef: - name: ${CI_PROJECT_PATH_SLUG}-config-map - volumeMounts: - - name: storage - mountPath: /app/srcs/storage - imagePullSecrets: - - name: docker-registry-credentials - volumes: + - name: ${CI_PROJECT_PATH_SLUG}-scheduled + image: $IMAGE_TAG + imagePullPolicy: IfNotPresent + command: + - "php" + args: + - "artisan" + - "schedule:run" + envFrom: + - configMapRef: + name: ${CI_PROJECT_PATH_SLUG}-config-map + volumeMounts: - name: storage - persistentVolumeClaim: - claimName: ${CI_PROJECT_PATH_SLUG}-pvc-storage + mountPath: /app/srcs/storage + imagePullSecrets: + - name: docker-registry-credentials + volumes: + - name: storage + persistentVolumeClaim: + claimName: ${CI_PROJECT_PATH_SLUG}-pvc-storage securityContext: runAsUser: 33 runAsGroup: 33 diff --git a/package-lock.json b/package-lock.json index 9e6dd0bb..c5cd4090 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3034,9 +3034,9 @@ "dev": true }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "dependencies": { "path-key": "^3.1.0", @@ -5542,9 +5542,9 @@ "dev": true }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "dev": true, "funding": [ { @@ -7549,9 +7549,9 @@ "dev": true }, "node_modules/sweetalert2": { - "version": "11.14.4", - "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.14.4.tgz", - "integrity": "sha512-8QMzjxCuinwm18EK5AtYvuhP+lRMRxTWVXy8om9wGlULsXSI4TD29kyih3VYrSXMMBlD4EShFvNC7slhTC7j0w==", + "version": "11.15.3", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.15.3.tgz", + "integrity": "sha512-+0imNg+XYL8tKgx8hM0xoiXX3KfgxHDmiDc8nTJFO89fQEEhJlkecSdyYOZ3IhVMcUmoNte4fTIwWiugwkPU6w==", "dev": true, "funding": { "type": "individual", @@ -7559,9 +7559,9 @@ } }, "node_modules/swiper": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/swiper/-/swiper-11.1.1.tgz", - "integrity": "sha512-jGmEA/fNz1lACIcY4/40ggm1Gcyv+EUivmgV/Jd2WFPsEJhbWXnRAwzZR8OPjkBLtDxmzcoYG/iiAMWfRs0YKQ==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/swiper/-/swiper-11.2.0.tgz", + "integrity": "sha512-rjjAKgDEs+grR2eQshVDCcE4KNPC7CI294nfcbV9gE8WCsLdvOYXDeZKUYevqAZZp8j5hE7kpT3dAGVKFBWlxQ==", "dev": true, "funding": [ { diff --git a/resources/sass/fo/base/_layout.scss b/resources/sass/fo/base/_layout.scss index 7e5da2a4..1bd667b9 100644 --- a/resources/sass/fo/base/_layout.scss +++ b/resources/sass/fo/base/_layout.scss @@ -230,55 +230,6 @@ body { } } - #input-group-search { - [type="submit"] { - border-radius: 1rem; - border-right-width: 0 !important; - border-bottom-right-radius: 0 !important; - border-top-right-radius: 0 !important; - - @include media-breakpoint-up(sm) { - border-radius: 0 1rem 1rem 0 !important; - border-right-width: var(--bs-border-width) !important; - border-left-width: 0 !important; - } - } - - #btn-search-empty { - border-radius: 1rem; - border-left-width: 0 !important; - border-bottom-left-radius: 0 !important; - border-top-left-radius: 0 !important; - - @include media-breakpoint-up(sm) { - border-radius: 1rem 0 0 1rem !important; - border-right-width: 0 !important; - border-left-width: var(--bs-border-width) !important; - } - } - - #search-input { - height: calc(2.65rem + calc(var(--bs-border-width) * 2)); - min-height: calc(2.65rem + calc(var(--bs-border-width) * 2)); - line-height: 1.25; - - @include media-breakpoint-up(md) { - @include rfs(20rem, min-width); - } - - @include media-breakpoint-up(lg) { - @include rfs(30rem, min-width); - } - - +label { - height: 2rem; - padding: 0.5rem 0.25rem; - line-height: 1.2; - } - } - } - - #menu-lang-list { display: none; diff --git a/resources/sass/fo/fo.scss b/resources/sass/fo/fo.scss index 4e5bdd84..2e5e065f 100644 --- a/resources/sass/fo/fo.scss +++ b/resources/sass/fo/fo.scss @@ -33,6 +33,7 @@ @import "./pages/page-des-40-ans"; @import "./pages/export-40-ans"; @import "./pages/news"; +@import "./pages/search"; // * PARTIALS @import "./partials/breeder-card"; @@ -47,6 +48,5 @@ @import "./partials/testimonial-card"; @import "./partials/video-card"; - // * COMPONENTS @import "./components/breeding/find-poultry-breeder"; diff --git a/resources/sass/fo/pages/search.scss b/resources/sass/fo/pages/search.scss new file mode 100644 index 00000000..87e9d210 --- /dev/null +++ b/resources/sass/fo/pages/search.scss @@ -0,0 +1,43 @@ +#search-section{ + #input-group-search { + [type="submit"] { + border-radius: 1rem; + border-right-width: 0 !important; + border-bottom-right-radius: 0 !important; + border-top-right-radius: 0 !important; + + @include media-breakpoint-up(sm) { + border-radius: 0 1rem 1rem 0 !important; + border-right-width: var(--bs-border-width) !important; + border-left-width: 0 !important; + } + } + + #search-input { + height: calc(2.65rem + calc(var(--bs-border-width) * 2)); + min-height: calc(2.65rem + calc(var(--bs-border-width) * 2)); + border-radius: 1rem 0 0 1rem; + border-right-width: 0; + line-height: 1.25; + + @include media-breakpoint-up(md) { + @include rfs(20rem, min-width); + } + + @include media-breakpoint-up(lg) { + @include rfs(30rem, min-width); + } + + +label { + height: 2rem; + padding: 0.8rem 1rem; + line-height: 1.2; + } + } + } + + #search-no-result-icon { + width: 5rem; + height: 5rem; + } +} diff --git a/resources/sass/fo/vendor/_swiper.scss b/resources/sass/fo/vendor/_swiper.scss index a26837fb..7e0f5fd2 100644 --- a/resources/sass/fo/vendor/_swiper.scss +++ b/resources/sass/fo/vendor/_swiper.scss @@ -1,4 +1,4 @@ -@import '~/swiper/swiper.min.css'; +@import '~/swiper/swiper-bundle.min'; // * CUSTOM STYLE .swiper { diff --git a/resources/ts/fo/base/common.ts b/resources/ts/fo/base/common.ts index 1b54a82b..b924a6e6 100644 --- a/resources/ts/fo/base/common.ts +++ b/resources/ts/fo/base/common.ts @@ -410,6 +410,35 @@ document.addEventListener("DOMContentLoaded", function () { }, }, }, + "swiper-news": { + modules: [Navigation, Pagination], + grabCursor: true, + slidesPerView: 1, + centeredSlides: true, + spaceBetween: 20, + navigation: { + nextEl: ".swiper-news-button-next", + prevEl: ".swiper-news-button-prev", + }, + breakpoints: { + 768: { + spaceBetween: 40, + slidesPerView: 2, + }, + 992: { + slidesPerView: 3, + centeredSlides: false, + slidesPerGroup: 3, + }, + }, + pagination: { + el: ".swiper-recipe-pagination", + clickable: true, + renderBullet: function (index: number, className: string) { + return ""; + }, + }, + }, "swiper-testimonials": { modules: [Navigation, Pagination], grabCursor: true, diff --git a/resources/ts/fo/components/MeilisearchModelsComponent.vue b/resources/ts/fo/components/MeilisearchModelsComponent.vue new file mode 100644 index 00000000..0558efdb --- /dev/null +++ b/resources/ts/fo/components/MeilisearchModelsComponent.vue @@ -0,0 +1,189 @@ + + + + + diff --git a/resources/ts/fo/components/MeilisearchPaginateViewsComponent.vue b/resources/ts/fo/components/MeilisearchPaginateViewsComponent.vue new file mode 100644 index 00000000..06ef16b2 --- /dev/null +++ b/resources/ts/fo/components/MeilisearchPaginateViewsComponent.vue @@ -0,0 +1,395 @@ + + + + + diff --git a/resources/ts/index.d.ts b/resources/ts/index.d.ts index 4ddfbcaa..9f8555ee 100644 --- a/resources/ts/index.d.ts +++ b/resources/ts/index.d.ts @@ -12,17 +12,19 @@ interface EnumInterface { value: number | string; } -// * Laravel Paginator - -interface PaginatorLink { - url: null | string; - label: string; - active: boolean; +// * Paginator +interface LaravelScout { + hits: string[]; + hitsPerPage: Number; + page: Number; + processingTimeMs: Number; + query: String; + totalHits: Number; + totalPages: Number; } - interface Paginator { current_page: number; - data: LaravelModelList; + data: LaravelScout|array; first_page_url: string; from: number; last_page: number; @@ -35,6 +37,11 @@ interface Paginator { to: number; total: number; } +interface PaginatorLink { + url: null | string; + label: string; + active: boolean; +} // * Others type VselectOptionType = { @@ -70,7 +77,7 @@ type NestedStringList = NestedStringListInterface | StringList | string; type NestedNumberList = NestedNumberListInterface | NumberList | number; type ModelList = Array; -interface ModelListInterface extends ModelList { } +interface ModelListInterface extends ModelList {} declare global { DepStatus; diff --git a/resources/ts/libs/.gitkeep b/resources/ts/libs/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/resources/views/bo/layouts/sidemenu.blade.php b/resources/views/bo/layouts/sidemenu.blade.php index b71d213b..d08c05b7 100644 --- a/resources/views/bo/layouts/sidemenu.blade.php +++ b/resources/views/bo/layouts/sidemenu.blade.php @@ -1002,6 +1002,25 @@ @endif + {{-- RECIPE PAGE --}} + @if (isset($searchStaticPageModel)) + + url()->current() === + route('bo.static_pages.edit', $searchStaticPageModel->type->value()), + ])> + + url()->current() === + route('bo.static_pages.edit', $searchStaticPageModel->type->value()), + ])> + {{ sprintf('Page %s', $searchStaticPageModel->type->label()) }} + + @endif {{-- CLUB --}} -
- @php - $searchFilters = ['recipes' => 'Recettes', 'products' => 'Produits', 'others' => 'Autres']; - @endphp - @foreach ($searchFilters as $name => $searchFilter) -
- get($name)) autocomplete="off"> - -
- @endforeach -
- -
-
- PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS - PRINT RESULTS CARDS -
-
-
-
- PAGINATION -
-
-
-
- LAST X NEWS ?? RULE ? -
-
- - - diff --git a/resources/views/fo/layouts/main-menu/search-btn.blade.php b/resources/views/fo/layouts/main-menu/search-btn.blade.php index 66ad0c2f..16f598ca 100644 --- a/resources/views/fo/layouts/main-menu/search-btn.blade.php +++ b/resources/views/fo/layouts/main-menu/search-btn.blade.php @@ -1,6 +1,6 @@ diff --git a/resources/views/fo/pages/breeding/article.blade.php b/resources/views/fo/pages/breeding/article.blade.php index cd9826e9..8c7f62f9 100644 --- a/resources/views/fo/pages/breeding/article.blade.php +++ b/resources/views/fo/pages/breeding/article.blade.php @@ -48,6 +48,7 @@ + {{-- CONTENT --}}
@@ -56,10 +57,10 @@ {!! clean($newsBreedingModel->content) !!}
-
{{-- --}} @endsection diff --git a/resources/views/fo/pages/breeding/show.blade.php b/resources/views/fo/pages/breeding/show.blade.php index a00e890e..9c4e6acb 100644 --- a/resources/views/fo/pages/breeding/show.blade.php +++ b/resources/views/fo/pages/breeding/show.blade.php @@ -7,13 +7,11 @@ @section('content') @include('fo.partials.breeding.navigation') - @include('fo.layouts.header-banner', [ 'picto' => $staticPageModel->picture, 'picto_alt' => $staticPageModel->picture_alt, 'picto_title' => $staticPageModel->picture_title, ]) -
@foreach ($newsBreedingModels as $newsBreedingModel) {{-- @foreach ($items as $newsBreedingModel) --}} @@ -27,18 +25,18 @@ 'btnLink' => route('fo.breeding.article.show', [$staticPageModel, $newsBreedingModel]), ]) @endforeach - @include('fo.partials.breeding.farming-poultry-other', [ 'commitmentId' => 4, 'title' => 'L\'élevage des volailles', 'text' => nl2br( - __( - 'Face aux préoccupations des consommateurs sur le bien-être animal, Le Gaulois vous dit tout sur ses :strongStartéleveurs partenaires:strongEnd et ses :strongStartconditions d\'élevages de volailles.:strongEnd :br Chaque jour, nous collaborons avec les éleveurs partenaires engagés dans la :strongStartdémarche éthique et responsable:strongEnd pour améliorer le confort de nos volailles. Chez les éleveurs partenaires Le Gaulois, la :strongStartprotection animale:strongEnd ne cesse d\'être l\'enjeu majeur.', + __('Face aux préoccupations des consommateurs sur le bien-être animal, Le Gaulois vous dit tout sur ses :strongStartéleveurs partenaires:strongEnd et ses :strongStartconditions d\'élevages de volailles.:strongEnd :br Chaque jour, nous collaborons avec les éleveurs partenaires engagés dans la :strongStartdémarche éthique et responsable:strongEnd pour améliorer le confort de nos volailles. Chez les éleveurs partenaires Le Gaulois, la :strongStartprotection animale:strongEnd ne cesse d\'être l\'enjeu majeur.', [ 'strongStart' => '', 'strongEnd' => '', 'br' => '
', - ])), + ] + ) + ), ])
@endsection diff --git a/resources/views/fo/pages/home.blade.php b/resources/views/fo/pages/home.blade.php index bd3fae06..c0ffa1c7 100644 --- a/resources/views/fo/pages/home.blade.php +++ b/resources/views/fo/pages/home.blade.php @@ -245,7 +245,7 @@
- @include('fo.partials.news-card', ['newsModel' => $newsModels->first()]) + @include('fo.partials.news-card', ['model' => $newsModels->first()])
@@ -253,7 +253,7 @@ {{-- 3 horizontal cards (only for devices with width > md size) --}}
@foreach ($newsModels->slice(1, 3) as $newsModel) - @include('fo.partials.news-card-tiny', ['newsModel' => $newsModel]) + @include('fo.partials.news-card-tiny', ['model' => $newsModel]) @endforeach
@endif diff --git a/resources/views/fo/pages/partials-demo.blade.php b/resources/views/fo/pages/partials-demo.blade.php index 3d8ef0fb..d1fdfb04 100644 --- a/resources/views/fo/pages/partials-demo.blade.php +++ b/resources/views/fo/pages/partials-demo.blade.php @@ -79,13 +79,13 @@
- @include('fo.partials.news-card-tiny', ['newsModel' => $newsModel]) + @include('fo.partials.news-card-tiny', ['model' => $newsModel])
- @include('fo.partials.news-card-tiny', ['newsModel' => $newsModel]) + @include('fo.partials.news-card-tiny', ['model' => $newsModel])
- @include('fo.partials.news-card-tiny', ['newsModel' => $newsModel]) + @include('fo.partials.news-card-tiny', ['model' => $newsModel])
{{-- PRODUCT CARDS TINY VERSION --}} diff --git a/resources/views/fo/pages/search.blade.php b/resources/views/fo/pages/search.blade.php new file mode 100644 index 00000000..bdac605c --- /dev/null +++ b/resources/views/fo/pages/search.blade.php @@ -0,0 +1,45 @@ +@extends('fo.layout', ['brParam' => $staticPageModel]) + +@section('title', $staticPageModel->seo_title) +@section('description', $staticPageModel->seo_description) +@section('breadcrumb', request()->route()->getName()) +@section('bg-offset', true) + +@section('content') + {{-- HEADER --}} + @include('fo.layouts.header-banner') + {{-- MAIN CONTENT --}} +
+
+ @php + $data = [ + 'elements' => [ + [ + 'name' => str(__('models.classes.product'))->ucFirst()->plural(), + 'class' => App\Models\Product::class, + 'models' => $productModels, + ], + [ + 'name' => str(__('models.classes.recipe'))->ucFirst()->plural(), + 'class' => App\Models\Recipe::class, + 'models' => $recipeModels, + ], + [ + 'name' => str(__('models.classes.news'))->ucFirst()->plural(), + 'class' => App\Models\News::class, + 'models' => $newsModels, + ], + [ + 'name' => str(trans_choice('models.classes.news_breeding', \INF))->ucFirst()->plural(), + 'class' => App\Models\NewsBreeding::class, + 'models' => $newsBreedingModels, + ], + ], + 'searchValue' => request()->input('texte'), + 'routeUrl' => route('fo.search.string'), + ]; + @endphp +
+
+
+@endsection diff --git a/resources/views/fo/partials/breeding/paragraph-with-visual.blade.php b/resources/views/fo/partials/breeding/paragraph-with-visual.blade.php index c93c2db4..9ba7e44e 100644 --- a/resources/views/fo/partials/breeding/paragraph-with-visual.blade.php +++ b/resources/views/fo/partials/breeding/paragraph-with-visual.blade.php @@ -26,9 +26,7 @@ @endif

{{ str(strip_tags($newsBreedingModel->content))->limit('300') }}

@if (isset($newsModel)) - @include('fo.partials.news-card-tiny', [ - 'newsModel' => $newsModel, - ]) + @include('fo.partials.news-card-tiny', ['model' => $newsModel]) @endif @if (isset($btnLabel) && !empty($btnLabel)) empty($noBg) && empty($bgReverse), ])>
-
-

{{ str(__($title))->upper() }}

- {!! clean($text) !!} +
+ @if(isset($title)) +

{{ str(__($title))->upper() }}

+ @endif + @if(isset($text)) + {!! clean($text) !!} + @endif
@foreach ($models as $model)
- @include("fo.partials.$id-card") + @include($viewPath ?? "fo.partials.$id-card")
@endforeach
@@ -42,7 +46,7 @@
- {{ str($btnText ?? __('voir toutes les recettes'))->upper() }} + {{ str($btnText ?? __('voir toutes les recettes'))->upper() }} @if (isset($isYoutube) && $isYoutube) Logo Youtube @endif diff --git a/resources/views/fo/partials/commitments/paragraph-with-visual.blade.php b/resources/views/fo/partials/commitments/paragraph-with-visual.blade.php index 2cffd59c..37cfeaa6 100644 --- a/resources/views/fo/partials/commitments/paragraph-with-visual.blade.php +++ b/resources/views/fo/partials/commitments/paragraph-with-visual.blade.php @@ -25,9 +25,7 @@

{{ $subtext }}

@endif @if (isset($newsModel)) - @include('fo.partials.news-card-tiny', [ - 'newsModel' => $newsModel, - ]) + @include('fo.partials.news-card-tiny', ['model' => $newsModel]) @endif @if (isset($btnLabel) && !empty($btnLabel))
- +
{{ $newsModel->thumbnail_alt }} + src="{{ asset($model->thumbnail) }}" + title="{{ $model->thumbnail_title }}" alt="{{ $model->thumbnail_alt }}">
{{-- TAG --}}
- {{ $newsModel->newsCategory->title }} + style="background-color: {{ $model->newsCategory->color }}; color: #fff"> + {{ $model->newsCategory->title }}
{{-- DATE --}}

- {{ ($newsModel->updated_at)->format('d/m/Y') }} + {{ ($model->updated_at)->format('d/m/Y') }}

- {{ $newsModel->title }} + {{ $model->title }}

diff --git a/resources/views/fo/partials/news-card.blade.php b/resources/views/fo/partials/news-card.blade.php index cab0d5fa..e48c8d96 100644 --- a/resources/views/fo/partials/news-card.blade.php +++ b/resources/views/fo/partials/news-card.blade.php @@ -8,22 +8,26 @@ --}}
- +
- {{ $newsModel->thumbnail_alt }} -
-

- {{ $newsModel->newsCategory->title }} -

-
+ {{ $model->thumbnail_alt ?? $model->picture_alt }} + @if (isset($model->newsCategory)) +
+

+ {{ $model->newsCategory->title }} +

+
+ @endif
-

{{ $newsModel->updated_at ->format('d/m/Y') }}

+

{{ $model->updated_at ->format('d/m/Y') }}

- {{ $newsModel->title }}

+ {{ $model->title }}

diff --git a/resources/views/fo/partials/product-card.blade.php b/resources/views/fo/partials/product-card.blade.php index f33ed894..0df8538f 100644 --- a/resources/views/fo/partials/product-card.blade.php +++ b/resources/views/fo/partials/product-card.blade.php @@ -1,4 +1,4 @@ -
+
diff --git a/resources/views/fo/partials/recipe-badges.blade.php b/resources/views/fo/partials/recipe-badges.blade.php index 8bb4b3a6..81757114 100644 --- a/resources/views/fo/partials/recipe-badges.blade.php +++ b/resources/views/fo/partials/recipe-badges.blade.php @@ -2,7 +2,7 @@ @php $items = []; foreach ($model->products as $product) { - $relation = isset($product->submeat) && !is_null($product->submeat) ? $product->submeat : $product->meat; + $relation = isset($product->submeat) && !is_null($product->submeat) ? $product->submeat : ($product->meat); $items = array_merge($items, isset($relation) && !is_null($relation) ? [$relation->only('label')['label']] : []); } @endphp diff --git a/resources/views/fo/partials/recipe-card.blade.php b/resources/views/fo/partials/recipe-card.blade.php index 421604db..813e41c8 100644 --- a/resources/views/fo/partials/recipe-card.blade.php +++ b/resources/views/fo/partials/recipe-card.blade.php @@ -1,5 +1,4 @@