We recommend the use of apollo-engine-reporting and the other built-in features
of AS 2.0 rather than engineProxy. You can still use the apollo-engine npm
module manually with AS 2.0, or stay on AS 1.0.
* feat: ApolloServer is created and exported by all variants
* docs: add initial docs around exporting ApolloServer
* feat: export gql from integrations
* docs: change apollo-server examples to use express with registerServer
* server: remove registerExpressServer
* core, docs: comment functions, fix api reference, context creation more like middleware args
* docs: fix integrationed typo
* Add BadUserInputError and TransientError as extensions of ApolloError
* remove TransientError
* update test so that properties end up under `error.extensions.exception`
* update documentation to talk about BadUserInputError
* check for properties after formatApolloErrors has been called
* fixed highlighted lines for docs
* export BadUserInputError from `apollo-server`
* fixed highlighted lines for docs
* export BadUserInputError from `apollo-server`
* update changelog
* core: add test for context as async function
* core,express: add support and test of context as async function
* Update apollo-server.md
Fix style for `registerServer`.
This requires a slightly newer graphql-extensions beta which has more arguments
to requestDidStart.
Also make it ok to not pass logFunction to formatApolloErrors, and make sure
custom fieldResolvers continue to work with extensions (by upgrading the
dependency and fixing a logic bug).
The custom fieldResolvers fix means that we now unconditionally put the
extension stack on the GraphQL context, which means that the context can no
longer be (say) a string. I changed a test that expected string contexts to
work. You couldn't use a string for a context when using extensions before, so
this isn't that big of a change.