* Enable declarationMap in tsconfig.json
See http://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-9.html
* Add apollo-server-caching package and improve typings
* Remove superfluous test steps
* Add .npmignore to apollo-server-caching
* Add apollo-server-env and apollo-datasource-rest packages
* Fix broken imports
* Use prepublish instead of prepare
* cache is now passed to data sources from ApolloServer constructor
* fix Object.values to use the object passed in rather than this
* add initial datasource test
* docs: initial data source documentation
* docs: initial data source documentation
* compiles and documentation now highlights code in data-sources.md
* Some changes to the data source docs
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.
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.
- Actually call validationDidStart and parsingDidStart.
- Use new graphql-extensions API which:
- replaces fooDidEnd with a handler returned by fooDidStart
- adds options to various methods
- has a new willSendResponse method
- requires you to construct the extension objects yourself (but make
the external API for specifying extensions to ApolloServer be
factories, because extensions are per request)
- Make a better effort at consistently calling end handlers even on error