* Integrate apollo-fastify plugin #626
* #626 Fix typescript issues
* #626 Update changelog
* #626 Update README
* #626 Fix the breaking tests
* #626 Fix code review comments
* #626 Run Hapi tests only for node 8 and 9
* #626 Run Hapi tests only for node 8 and 9
* #626 Commit package.lock in working state
* #626 Use npm instead of yarn for node 4
* Revert package-lock and circle ci test job steps
* #626 Bump the version
* remove formatParams
* remove formatParams from documentation
* check for valid query string after persisted query mapping
* fix sentence about different logging and label extensions as experimental
* mark graphql-extensions as more experimental
* Add a wider diversity of `gui` options
Although I know we want to remain less tied to the GraphQL Playground
GUI options, we definitely want to support a wider variety of options to
be passed in. This adds support for specifying partial options either
statically or dynamically for the gui, which can be extended to allow
for a wider array of guis than only GraphQL playground.
* Add boolean option and configuration for tabs
* move gui setting into ApolloServer Constructor
* document playground configuration in the constructor
* update playground types and fixed micro + koa integrations
* change gui to playground
* docs: change gui to playground
* fix logic for playground creation
* add cors option to apollo-server's constructor
* docs: add cors option to costructor for apollo-server
* expose CorsOptions from vanilla and express integrations
* Update apollo-server.md
* add disableInterval option to engine reporting
* set engine options for lambda
* lambda: add comment on constructor
* lambda: update readme typo and include callout to use graphql.js
* disableInterval -> sendReportsImmediately
* use sendReportsImmediately correctly and fix compilation
* uses new Header to fix different header combination, fixes#1301
* add apollo-server-env dependency
* fix logic error in engine reporting
* koa integration
* use koa-bodyparser v3 for node 6 support
* use middlewareFromPath instead of koa-router
* use async/await in koa fileUploadMiddleware
* Initial basic Micro integration
* Wire up health check capabilities
* Add playground support; Refactoring
* Add custom path support
* Add file upload support
* Add subscription support
* Documentation and formatting updates
* Wire up tests
* Add Node 10 workaround for file upload testing
* Code review changes (docs, naming, formatting)
* Adjust exports to line up with other integrations
* micro: add graphql to npm install and lines to highlight in docs
* Initial commit
* Add .npmignore to avoid ignoring lib when publishing
* 0.0.2
* Update graphql-extensions dependency to 0.0.2
* 0.0.3
* Reorganize code and add tests
* 0.0.4
* Add tests and reorganize code
* 0.0.5
* Update dependency to graphql-extensions 0.0.4
* 0.0.6
* Update graphql-extensions dependency and downgrade TS target
* 0.0.7
* Update README
* Update README
* Update README
* Update README
* Add import instructions for TypeScript to README (#7)
* Add cache hints when the directive is defined on interfaces (#10)
* Increase version range for `graphql` peerDependency. (#12)
* 0.0.8
* Update dependencies
* 0.0.9
* [apollo-bot] Update the Issue/PR Templates with auto label (#13)
* [apollo-bot] Update the Templates with docs label (#15)
* Add cache hints to info.cacheControl (#16)
This exposes the `cacheControl` hints on the schema, to the resolvers at runtime.
* Update `graphql` peer dependency range to allow 0.13.x.
* dev: Update TypeScript to latest version, v2.7.2.
* dev: Update jest & dependencies to latest versions.
* dev: Update type definitions for `graphql`, `node` and `jest`.
* dev: Update `graphql` to latest version, v0.13.2.
* 0.0.10
* Add defaultMaxAge option
This is an easy way to quickly say "I want everything in my schema to be cached
for 5 seconds". You can override it with specific maxAges on specific fields or
types.
An upcoming release of apollo-server-* will allow you to specify options to
cacheControl.
* Add CircleCI config
* Add partial CHANGELOG
* 0.1.0
* Honor overwrite default maxAge with maxAge=0 (Fixes#22) (#23)
* 0.1.1
* Allow default caching to apply to interfaces
* remove unused files
* update versions and use a-s style config
* run prettier
* fix tests and typing
* Initial commit
* 0.0.3
* Replace endOffset with duration in resolver calls
* 0.0.4
* Fix duration
* 0.0.5
* Remove unnecessary schema level resolve function and return schema
* Update README
* 0.0.6
* Update README
* Update dependencies
* 0.0.7
* Update README
* set package.json to point to this repository (#3)
* Update dependencies
Fixes#4.
* 0.0.8
* Add asynciterable support to tsconfig.json
* Skip trace collection when context or context._traceCollector is undefined
Fixes#5.
* 0.0.9
* Rewrite to use graphql-extensions
* 0.0.10
* 0.0.11
* 0.1.0
* Update graphql-extensions dependency and downgrade TS target
* 0.1.1
* Update README
* Update README
* Increase version range for `graphql` peerDependency. (#7)
* 0.1.2
* Update dependencies
* 0.1.3
* [apollo-bot] Update the Issue/PR Templates with auto label (#9)
* Update `graphql` peer dependency range to allow 0.13.x.
* dev: Update TypeScript to latest version, v2.7.2.
* dev: Update jest & dependencies to latest versions.
* dev: Update type definitions for `graphql`, `node` and `jest`.
* Allow `undefined` to return from `format`. (#12)
* Allow `undefined` to return from `format`.
TypeScript 2.7 introduced new "Strict Class Instantiation" rules which,
as the name suggests, require properties which are intended to be set
(eventually, to a type) be set during construction.
Before this change, the `TracingExtension` class was deferred setting these
private properties (namely, `startWallTime`, `endWallTime`, `startHrTime`
and `duration`), but not during instantiation which required setting
marking them as optional and guarding their usage in other methods which
might use those (temporarily `undefined`, if even for a tick) properties.
For example, the expectation that `format` is _only_ called after
`requestDidStart` is not guaranteed with this configuration, even if it is
expected under normal operation.
Therefore, this change adds the additional guarding and updates the `format`
method to return `undefined` in the event that it doesn't have the appropriate
data.
* Update `graphql-extensions` dependency to `~0.0.9`.
Specifically, to take advantage of a type which landed in
`graphql-extensions@0.0.9` thanks to
https://github.com/apollographql/graphql-extensions/pull/10.
* 0.1.4
* Update for graphql-extensions@0.1.0 API (#13)
* Upgrade to TypeScript 2.8
* Add tslint and prettier
* Update for graphql-extensions@0.1.0 API
* 0.2.0-beta.0
* Make work with newest API usage
format() now gets called before the requestDidStart() EndHandler.
* 0.2.0-beta.1
* remove unused files from tracing package
* upgrade packages, fix compilation bugs, and add test
* Remove Node dependencies from package.json
* Replace Node request with fetch
* Wrap fetch in @zeit/fetch-retry, convert to async/await, and fix types
* Use async-retry directly because @zeit/fetch-retry doesn't support Node 6
* bump server-env version in graphql-extensions
* explicitly include factor in async-retry
* change apollo-server-env to rc.5
* enable willSendResponse to return a modified response
* add formatError as an extension that wraps engine reporting
* ensure that formatError once on every error path
* move old formatError express tests into integration suite
* add error lifecycle with minimal engine reporting check
* increase granularity of formatError test
* return 400 error for GraphQL error created by context
* add check for internal server error for errors thrown in context
* comment about context error status code