Patch Changes
-
#6814
cf0fcf49aThanks @glasser! - Several changes relating to plugins:-
Remove the
serverfield onGraphQLRequestContextandGraphQLServerContext(ie, the arguments to most plugin hook methods). This was added during AS4 development and did not exist in AS3. -
Add
loggerandcachefields toGraphQLRequestContextandGraphQLServerContext. Theloggerfields andGraphQLRequestContext.cacheexisted in AS3 and had been previously removed for redundancy with theserverfield. (Unlike in AS3,loggeris readonly.) -
ApolloServerPluginis 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 aboutcontextValueto simply implementApolloServerPluginand 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
pluginslist in theApolloServerconstructor. (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 theApolloServeritself when creating the plugin) can be handled with the new-in-AS4ApolloServer.addPluginmethod.
-
-
Updated dependencies [
cf0fcf49a]:- @apollo/[email protected]