From 37c65352403b670ace0e90f8cb3b054b0b0ba6f7 Mon Sep 17 00:00:00 2001 From: Alies Lapatsin Date: Mon, 22 Jun 2026 10:04:26 +0200 Subject: [PATCH] fix: drop invalid generic params from JsonApiResourceCollection return types JsonApiResourceCollection extends Illuminate's AnonymousResourceCollection, which declares no @template params, so JsonApiResourceCollection is non-generic (0 template params). The `@return JsonApiResourceCollection` on collection() and newCollection() therefore supplies 2 type args to a class that accepts none. PHPStan (with larastan's generic resource stubs) tolerated this, but Psalm via psalm-plugin-laravel reports: TooManyTemplateParams: TiMacDonald\JsonApi\JsonApiResourceCollection has too many template params, expecting 0 Drop the generic args so the annotation matches the class's actual arity. --- src/JsonApiResource.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/JsonApiResource.php b/src/JsonApiResource.php index 6ab1382..5f54d90 100644 --- a/src/JsonApiResource.php +++ b/src/JsonApiResource.php @@ -151,7 +151,7 @@ public function with($request) /** * TODO this may be removed once all supported versions have `newCollection`. * - * @return JsonApiResourceCollection + * @return JsonApiResourceCollection */ public static function collection(mixed $resource) { @@ -164,7 +164,7 @@ public static function collection(mixed $resource) } /** - * @return JsonApiResourceCollection + * @return JsonApiResourceCollection */ public static function newCollection(mixed $resource) {