Repository navigation
fix(deps): update examples (major) - #819
renovate[bot] wants to merge 1 commit into
Conversation
|
75151d7 to
3a364f2
Compare
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #819 +/- ##
=======================================
Coverage 92.19% 92.19%
=======================================
Files 17 17
Lines 397 397
Branches 128 128
=======================================
Hits 366 366
Misses 31 31 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
77228e5 to
cbd9ba1
Compare
cbd9ba1 to
11f2045
Compare
11f2045 to
687fe14
Compare
687fe14 to
32318ce
Compare
32318ce to
64b8606
Compare
64b8606 to
57b4500
Compare
37ec295 to
836348b
Compare
836348b to
5a054c2
Compare
5a054c2 to
9f603be
Compare
9f603be to
d903fe3
Compare
d903fe3 to
2b58b75
Compare
5be7caa to
ec8cea7
Compare
65141a3 to
09c91d2
Compare
09c91d2 to
06862d9
Compare
4c8009b to
9ba7b19
Compare
59963a3 to
e560bad
Compare
62eae9e to
3dd04aa
Compare
|
67df056 to
ffddb8c
Compare
ffddb8c to
711f7b9
Compare
711f7b9 to
6642bdc
Compare
d79f61c to
7ee49ed
Compare
7ee49ed to
0343a80
Compare
c3ee414 to
689b839
Compare
91cfe5e to
2955ffd
Compare
152ba74 to
4785896
Compare
52ad30f to
af874b7
Compare
21f8f8d to
a1e527b
Compare
Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
10.0.23→11.0.813.2.4→14.2.011.0.7→12.0.1111.1.3→12.3.313.2.4→14.2.011.1.3→12.3.311.1.3→12.3.324.0.3→26.6.69.29.0→10.14.016.11.0→17.0.25.13.5→6.0.126.0.0→28.0.05.8.3→7.0.2Release Notes
ardatan/graphql-tools (@graphql-tools/schema)
v11.0.8Compare Source
Patch Changes
cc144f6,03f8963]:v11.0.7Compare Source
Patch Changes
#8601
902d870Thanks @ardatan! -mergeSchemasandmakeExecutableSchemanow acceptonFieldTypeConflict, the same callbackmergeTypeDefsalready had.When two schemas define the same field with different types, default merge throws. When only nullability differs, it keeps the earlier type.
content: String!vscontent: Intthrows.title: String!vstitle: StringkeepsString!.The merged
Posttakestitle: Stringandcontent: Intfrom the second schema, keepspublishedfrom the first, and addsfieldA/fieldB. Types that exist on only one schema, such asUseron the first, stay.The same callback applies to field arguments. Returning the incoming field uses the second schema's argument types and still keeps arguments that exist on only one side. Returning the existing field with
reverseArguments: truekeeps the first schema's argument types and still appends new arguments.Updated dependencies [
6da2904,7770067,f956bfe]:v11.0.6Compare Source
Patch Changes
#8564
fe44242Thanks @ardatan! -requireResolversForArgs(and the other resolver-presence checks) now look forsubscribeon the schema's subscription type.On subscriptions,
subscribeis required andresolveis optional. The validator used to look only atfield.resolve, so a subscription with arguments was reported as missing even whensubscribewas present. Query and mutation fields still requireresolve.Updated dependencies [
7fbc6e7,5ceed9d]:v11.0.5Compare Source
Patch Changes
501109b]:v11.0.4Compare Source
Patch Changes
f87bdf4]:v11.0.3Compare Source
Patch Changes
4db5750]:v11.0.2Compare Source
Patch Changes
34b740b]:v11.0.1Compare Source
Patch Changes
15efe55]:v11.0.0Compare Source
Major Changes
#8515
1d70c62Thanks @ardatan! - Drop GraphQL v14/v15 support and require Node.js >= 22.18.graphqlpeer range is now^16.0.0 || ^17.0.0.engines.nodeis now>=22.18.0(Nodefs.glob+ Babel 8).@graphql-tools/graphql-tag-pluckmove to Babel 8 (@babel/core/ parser / traverse / types).cross-inspectpackage is discontinued. Useinspectfrom@graphql-tools/utilsinstead (Nodeutil.inspectviaprocess.getBuiltinModule, with a smallJSON.stringify/Stringfallback).Removed
@graphql-tools/utilsexportsgetArgumentValuesimport { getArgumentValues } from 'graphql'coerceInputs/graphqlJSCompatgetArgumentValues, etc.)createDeferred/createDeferredPromiseconst { promise, resolve, reject } = Promise.withResolvers()createGraphQLErrornew GraphQLError(message, options)fromgraphqlmapMaybePromisehandleMaybePromisefrom@whatwg-node/promise-helpersisPromise/fakePromise/mapAsyncIterator/MaybePromise@whatwg-node/promise-helpersregisterAbortSignalListener/getAbortPromiseAbortSignalAPIs (throwIfAborted,addEventListener('abort', …, { once: true }),AbortSignal.any, …)withCancel/getAsyncIterableWithCancel/getAsyncIteratorWithCancelreturn()(or your transport abort path)debugTimerStart/debugTimerEndconsole.timeif neededPromiseWithResolvers(type)PromiseWithResolvers<T>/ return type ofPromise.withResolvers()inspectand the WeakMapmemoize1…memoize2of5helpers remain on@graphql-tools/utils(inspect is no longer re-exported fromcross-inspect).File matching (
globby→fs.glob)Loaders and
@graphql-tools/load-filesnow use Node’sfs.globthrough:Directory symlinks are followed for recursive (
**) patterns:fs.globfollowSymlinksis used.cwd) and patterns are re-rooted.@graphql-tools/executorhot-path caches (collectSubfields, argument coercion,@streamdetection) usememoize2/memoize3from utils.collectSubFieldsin utils stays unmemoized so the executor can own a single memoize3 layer.Errors and other cleanup
new GraphQLError(message, options)fromgraphql. Experimental schemacoordinatesupport remains onlocatedError/relocatedError/getSchemaCoordinate.URL.canParsefallback).@whatwg-node/promise-helpers(handleMaybePromise,isPromise,fakePromise,mapAsyncIterator,MaybePromise) rather than re-exported from utils.Patch Changes
1d70c62Thanks @ardatan! - dependencies updates:graphql@^16.0.0 || ^17.0.0↗︎ (from^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0, inpeerDependencies)1d70c62,1d70c62,1d70c62]:v10.1.5Compare Source
Patch Changes
#8445
82457d1Thanks @ardatan! - dependencies updates:@graphql-tools/merge@^9.2.7↗︎ (from^9.2.6, independencies)@graphql-tools/utils@^12.0.4↗︎ (from^12.0.3, independencies)#8445
82457d1Thanks @ardatan! - Fix: Preserve symbol-keyed GraphQL extensions when building, merging, or extracting schemas.GraphQL.js v17 allows
string | symbolkeys on schema/type/fieldextensions(viatoObjMapWithSymbols).@graphql-toolswas dropping those symbol keys in two places:mergeDeeponly walked enumerable string keys (for...in), so symbol extensions were lost when applyingschemaExtensions.extractExtensionsFromSchemadid not copy non-enumerable own symbol keys (enumerable symbols already survive object rest/spread; the explicit loop covers the non-enumerable case).Example (bug)
Schema extension merge/extract and resolver merging always enable
{ enumerable: true, nonEnumerable: true }so symbol keys survive in tools' own merge/extract paths on every supported GraphQL.js major. (GraphQL.js itself may still drop symbol keys from field configs below v17 when rebuilding types.)mergeDeepAPImergeDeepnow accepts an options object. The old positional boolean arguments still work but are deprecated.respectSymbolsdefaults to{ enumerable: false, nonEnumerable: false }(symbols dropped), matching the historical default. The legacy 5th positional flag still maps to{ nonEnumerable: true }only.Resolver map types (
IResolvers/ field resolverextensionsand type__extensions) now useExtensionsObject(Record<string | symbol, any>), so symbol-keyed resolver extensions type-check under GraphQL.js v17+.82457d1,98673c3,a75d725,82457d1]:v10.1.4Compare Source
Patch Changes
fd95dc9]:v10.1.3Compare Source
Patch Changes
19f5b33]:v10.1.2Compare Source
Patch Changes
b1fbba2,20d36a5]:v10.1.1Compare Source
Patch Changes
2262087,5523c4b,60db079,57e316d,1c1c5a0,1c1c5a0,0b9529f]:v10.1.0Compare Source
Minor Changes
#8346
2273c21Thanks @ardatan! - This release adds GraphQL v17 support and aligns
the existing executor implementation with the latest GraphQL v17 API changes. The following
changes are included:
getAsyncHelpersis now available onGraphQLResolveInfo. Itstrackmethod is used wheneverwaitUntilis available, as in Yoga'sExplicit Resource Management
getAbortSignalis now available onGraphQLResolveInfo, matching behavior that was alreadyavailable in this executor implementation, as in Yoga's
Execution Cancellation
GraphQLResolveInfoautomatically alignsvariableValuesaccording to the GraphQL version forbetter compatibility. In GraphQL v17 and above,
variableValuesfollows the wrapped shape(
{ coerced, sources }) expected by GraphQL APIs. In GraphQL v16 and below,variableValuesremains a flat map as in previous versions.
__serializeand__parseValue, they are automaticallymapped to
coerceOutputValueandcoerceInputValuein GraphQL v17.@graphql-tools/executor'sgetVariableValuesnow returns{ variableValues }on success, where
variableValuesis aVariableValuesobject ({ coerced, sources }). Onfailure, it returns
{ errors }.collectFields,shouldIncludeNode,getDeferValues, andcollectSubFieldsnowneed a
VariableValuesobject instead ofRecord<string, any>for thevariableValuesargument.
visitResultnow internally normalizesExecutionRequest.variablesinto aVariableValues-compatible shape ({ coerced, sources }) before traversing selections.Patch Changes
[
2273c21,7fe0319]:v10.0.38Compare Source
Patch Changes
[
e90719b]:v10.0.37Compare Source
Patch Changes
[
615c1a2]:v10.0.36Compare Source
Patch Changes
[
79f1998]:v10.0.35Compare Source
Patch Changes
[
2609c94]:v10.0.34Compare Source
Patch Changes
[
981d461]:v10.0.33Compare Source
Patch Changes
[
a4b7dce]:v10.0.32Compare Source
Patch Changes
[
ae36a0e]:v10.0.31Compare Source
Patch Changes
[
6f3776c]:v10.0.30Compare Source
Patch Changes
[
2118a80]:v10.0.29Compare Source
Patch Changes
[
2fe123a]:v10.0.28Compare Source
Patch Changes
[
dddc5f6]:v10.0.27Compare Source
Patch Changes
[
fbb58b5]:v10.0.26Compare Source
Patch Changes
[
fd105f4,fded91e,3b99a9b]:v10.0.25Compare Source
Patch Changes
[
984d542,984d542,32d0457]:v10.0.24Compare Source
Patch Changes
[
e5f98c2,3c21496,e5f98c2,22af985,53db005]:nestjs/graphql (@nestjs/apollo)
v14.2.0Compare Source
This release fixes several security issues and a range of correctness bugs in schema generation, resolver binding and the drivers. Upgrading is recommended for all users of
@nestjs/graphql,@nestjs/apolloand@nestjs/mercurius.Security
@nestjs/graphql@nestjs/graphqluseFactoryoruseValue@nestjs/graphql@nestjs/graphqlDateTimeandTimestampscalars accept invalid input, sonulland invalid dates reach non-null arguments@nestjs/mercuriusMercuriusFederationDriverignores subscription filters and delivers events to all subscribers@nestjs/apollo@nestjs/graphqlresolversoption defines the same type@nestjs/apollo,@nestjs/mercurius@nestjs/graphql@nestjs/graphqlresolvecallbacks run without guards when the operation is sent over HTTPBehaviour changes
Most applications need no changes. The fixes below either make silent misconfigurations fail loudly, or align runtime behaviour with what the schema and the documentation promise. Please review them before upgrading.
Startup errors for configurations that used to skip checks silently
useFactory/useValuethat uses guards, interceptors or pipes referenced by class now fails at startup; before, these enhancers never ran. Register the resolver as a class or withuseClass, or pass enhancer instances.@Plugin()classes.@ArgsType()property that collides with a named@Args();@Args()with different types or defaults.defaultValue: nullon a non-null argument or field fails at schema build. Addnullable: true, or drop the default.@ResolveField()that adds a required argument the implemented interface field doesn't declare is a schema validation error.isOneOf. Derived input types inheritisOneOf, and the@oneOfdirective now sets it.@Field(() => 'Name')) when two types share that name fails. Reference the class, or scope the types withregisterIn.MercuriusGatewayDriverwithtransformSchemafails at startup; the option used to be ignored.schemaandtypeDefs.resolverValidationOptionsnow apply to the merged schema.Requests that are now rejected
DateTime/Timestampinput is a validation error (HTTP 400). Valid date strings,Dateinstances and epoch-millisecond numbers keep working.nullresult from a custom scalar'sparseValue()/parseLiteral()is now treated as invalid input. Throw aGraphQLErrorfor input your scalar can't parse.ApolloDriver,ApolloFederationDriverandMercuriusDriver. Use WebSocket./graphql/<anything>returns 404, andpath: '/'no longer catches every URL. A trailing slash still works.'graphql-ws': falsenow disables the WebSocket endpoint. Asubscriptionsobject that enables no protocol no longer accepts upgrades.IntersectionType(). A field shared by both classes is non-null unless both allow null.validationRulesandformatError.ResolverDecoratorHost.setOnRequestStartHook()) is awaited, and if it rejects, the operation fails.Schema changes
PickType(),OmitType(),PartialType()andIntersectionType()no longer include fields inherited from a parent of another kind (e.g. an@ObjectType()parent of an@InputType()).@ResolveField()placement.include-scoped GraphQL modules.includeand@Global()modules.includeno longer pulls in resolvers of@Global()modules; list them inincludeexplicitly.@ArgsType()chains three or more levels deep is now root-first.Infinity/NaNreverse mappings and namespace-merged members are no longer enum values.protectedand#privatemembers.@HideField()also works when applied through a composed decorator.buildFederatedSchemacallbacks receive only the__resolveReferenceresolvers; the other resolvers are attached separately.Different resolvers or middleware for the same query
@ResolveField()handler, with its guards and middleware, instead of reading the property. To keep the old behaviour, declare a handler on the subtype.@Field({ middleware })and@UseFieldMiddleware()on a model field also run when the field has a@ResolveField()handler, in the order global → model → handler, each once.@InterfaceType()classes.@ResolveField(), that ends up on a type with no bound handler, returns an error and is listed in a startup warning. Before, it read the parent's property unguarded.__typenameof subclasses. The defaultresolveTypereturns the most-derived class, so__typenamenames the subclass.@Resolver()subclasses inherit the parent's type.Subscription/Mutationobject types.@ResolveField()handlers on object types namedSubscriptionorMutationare treated as field resolvers.HttpExceptioninstances are converted to GraphQL errors.#privatefields.@Extensions()are inherited by subclasses.directiveResolversis deprecated and logs a warning. It hasConfiguration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.