Patch Changes
-
#6814
cf0fcf49a
Thanks @glasser! - Several changes relating to plugins:-
Remove the
server
field onGraphQLRequestContext
andGraphQLServerContext
(ie, the arguments to most plugin hook methods). This was added during AS4 development and did not exist in AS3. -
Add
logger
andcache
fields toGraphQLRequestContext
andGraphQLServerContext
. Thelogger
fields andGraphQLRequestContext.cache
existed in AS3 and had been previously removed for redundancy with theserver
field. (Unlike in AS3,logger
is readonly.) -
ApolloServerPlugin
is now declared as<in TContext extends BaseContext = BaseContext>
rather than<in out TContext>
. This means that you can declare a plugin that doesn't care aboutcontextValue
to simply implementApolloServerPlugin
and it will work with anyApolloServer<NoMatterWhatContext>
. This should make it easy to write plugins that don't care about context. -
Remove the ability to specify a factory function as an element of the
plugins
list in theApolloServer
constructor. (Reducing the number of ways to specify constructor options helps keep type errors simpler.) As far as we know the main use case for this (referring to theApolloServer
itself when creating the plugin) can be handled with the new-in-AS4ApolloServer.addPlugin
method.
-
-
Updated dependencies [
cf0fcf49a
]:- @apollo/[email protected]