nuwave/lighthouse
Lighthouse is a GraphQL framework for Laravel that combines the best ideas of both ecosystems. It handles common tasks with ease and offers flexibility when you need it, letting you serve a GraphQL API directly from your Laravel app.
locations from errors of queries served from query_cache.mode: store, as opcache and hybrid modes already do https://github.com/nuwave/lighthouse/pull/2785query_cache.mode: store, so it no longer requires allowing AST classes in cache.serializable_classes https://github.com/nuwave/lighthouse/pull/2785_ide_helper.php and generating _lighthouse_ide_helper.php, Larastan recognizes the TestResponse mixin methods without them https://github.com/nuwave/lighthouse/pull/2791SaveAwareArgResolver::runBeforeSave() in nested mutations instead of only at the top level https://github.com/nuwave/lighthouse/pull/2784[@nest](https://github.com/nest) instead of silently discarding those whose field name collides with a sibling https://github.com/nuwave/lighthouse/pull/2784webonyx/graphql-php >= 15.31.0 by passing scalar overrides explicitly when SchemaConfig::setScalarOverrides is available https://github.com/nuwave/lighthouse/pull/2772RootResolverSignatureRector rule to auto-fix root resolver __invoke signatures https://github.com/nuwave/lighthouse/pull/2779SaveAwareArgResolver interface for directives that need control over pre/post-save timing in mutations https://github.com/nuwave/lighthouse/pull/2777haydenpierce/class-finder ^0.6, which makes lighthouse:ide-helper and DirectiveLocator significantly faster https://github.com/nuwave/lighthouse/pull/2769[@upsert](https://github.com/upsert) and [@upsertMany](https://github.com/upsertMany) https://github.com/nuwave/lighthouse/pull/2426upsert for HasOne creating a new record instead of updating when no id is provided in the input https://github.com/nuwave/lighthouse/pull/2742create on HasOne relation when a related model already exists https://github.com/nuwave/lighthouse/pull/2742String type for HAS.condition.column in [@whereConditions](https://github.com/whereConditions) instead of incorrectly inheriting the parent's column enum type https://github.com/nuwave/lighthouse/pull/2725null for page argument in paginated queries https://github.com/nuwave/lighthouse/pull/2735Nuwave\Lighthouse\Testing\MocksResolvers https://github.com/nuwave/lighthouse/pull/2730lighthouse:clear-cache in favor of lighthouse:clear-schema-cache https://github.com/nuwave/lighthouse/pull/2713DateTimeInterface instance in date scalars https://github.com/nuwave/lighthouse/pull/2711MakesGraphQLRequests https://github.com/nuwave/lighthouse/pull/2702[@can](https://github.com/can) directive docs--sort to command lighthouse:print-schema https://github.com/nuwave/lighthouse/pull/2696[@lazyLoad](https://github.com/lazyLoad) and [@paginate](https://github.com/paginate) https://github.com/nuwave/lighthouse/pull/2695ASTCache::path() https://github.com/nuwave/lighthouse/pull/2694[@can](https://github.com/can)* directives instead of always wrapping them https://github.com/nuwave/lighthouse/pull/2686ASTCache https://github.com/nuwave/lighthouse/pull/2685Argument::$type with null and make it nullable https://github.com/nuwave/lighthouse/pull/2682ArgumentSet::exists() https://github.com/nuwave/lighthouse/pull/2680operation_id to message QueryMetadata in reports.proto https://github.com/nuwave/lighthouse/pull/2678BuildExtensionsResponse https://github.com/nuwave/lighthouse/pull/2637Nuwave\Lighthouse\Tracing\FederatedTracing\Proto__typename is included in related model's field selection https://github.com/nuwave/lighthouse/pull/2666reports.proto with Client awareness contexts https://github.com/nuwave/lighthouse/pull/2667thecodingmachine/safe 3 https://github.com/nuwave/lighthouse/pull/2657How can I help you explore Laravel packages today?