C.J. Winslow
408198e5ac
Pass the context request and response extension methods ( #1547 )
...
* Pass the context along to all the extension methods
Addresses #1343
With this change you should now be able to implement an extension like so:
```javascript
class MyErrorTrackingExtension extends GraphQLExtension {
willSendResponse(o) {
const { context, graphqlResponse } = o
context.trackErrors(graphqlResponse.errors)
return o
}
}
```
Edit by @evans :
fixes #1343
fixes #614 as the request object can be taken from context or from requestDidStart
fixes #631 ""
* Remove context from extra extension functions
The context shouldn't be necessary for format, parse, validation, and
execute. Format generally outputs the state of the extension. Parse and
validate don't depend on the context. Execution includes the context
argument as contextValue
* Move change entry under vNext
2018-09-07 18:10:30 -07:00
Martijn Walraven
996c73063a
Publish
...
- apollo-engine-reporting@0.0.4
- apollo-server-cloud-functions@2.0.3
- apollo-server-cloudflare@2.0.4
- apollo-server-core@2.0.6
- apollo-server-express@2.0.6
- apollo-server-hapi@2.0.6
- apollo-server-integration-testsuite@2.0.6
- apollo-server-koa@2.0.6
- apollo-server-lambda@2.0.6
- apollo-server-micro@2.0.6
- apollo-server@2.0.7
2018-09-05 17:33:16 +02:00
Vincenzo Russo
88417b7398
Switch ApolloServerBase.schema from private access to protected access ( #1610 )
2018-09-05 16:02:06 +02:00
Martijn Walraven
b80a8f050c
Publish
...
- apollo-cache-control@0.2.3
- apollo-datasource-rest@0.1.5
- apollo-datasource@0.1.3
- apollo-engine-reporting@0.0.3
- apollo-server-cache-memcached@0.1.3
- apollo-server-cache-redis@0.1.3
- apollo-server-cloud-functions@2.0.2
- apollo-server-cloudflare@2.0.3
- apollo-server-core@2.0.5
- apollo-server-env@2.0.3
- apollo-server-express@2.0.5
- apollo-server-hapi@2.0.5
- apollo-server-integration-testsuite@2.0.5
- apollo-server-koa@2.0.5
- apollo-server-lambda@2.0.5
- apollo-server-micro@2.0.5
- apollo-server@2.0.6
- apollo-tracing@0.2.3
- graphql-extensions@0.1.3
2018-09-03 15:06:00 +02:00
Martijn Walraven
49d4ffb682
Augment typeDefs with cacheControl
directive so SDL validation doesn't fail
2018-09-02 11:50:09 +02:00
Martijn Walraven
497b514511
Add processRequest to apollo-upload-server types
2018-09-01 11:37:45 +02:00
Martijn Walraven
ef67851997
Only require apollo-upload-server if uploads are enabled
2018-09-01 11:37:45 +02:00
Yipeng Zhao
984c47d07a
Use playground default settings when possible ( #1516 )
...
Playground can either use external settings or its default settings (browser settings), in incompatible ways. The original implementation of default settings here would always provide 'settings' for Playground, in turn make its own settings mechanism disabled, with consequences such as altering settings in-browser cannot work as expect. Besides, once the default settings here go different with Playground provided, it would cause other problems.
The intention here is to use Playground setting as default, while explicit passing Playground settings in Apollo server would still work with defaults defined here merged.
2018-09-01 09:50:10 +02:00
Rob Richard
23ee9ec53e
Update default version of graphql-playground
2018-09-01 09:34:38 +02:00
Evans Hauser
2657e9b25b
Publish
...
- apollo-server-cloud-functions@2.0.1
- apollo-server-cloudflare@2.0.2
- apollo-server-core@2.0.4
- apollo-server-express@2.0.4
- apollo-server-hapi@2.0.4
- apollo-server-integration-testsuite@2.0.4
- apollo-server-koa@2.0.4
- apollo-server-lambda@2.0.4
- apollo-server-micro@2.0.4
- apollo-server@2.0.5
2018-08-20 14:17:37 -07:00
Jesse Rosenberger
8347511db8
Switch to a fork of apollo-upload-server
to fix missing core-js
dependency. ( #1556 )
...
* Switch to a fork of `apollo-upload-server` to fix missing `core-js` dependency.
As reported in https://github.com/apollographql/apollo-server/issues/1542 ,
the `apollo-upload-server` package (v5.0.0, which `apollo-server` relies on)
is no longer able to provide a `core-js` package because of change that was
outside of its control in a Babel release.
The problem is resolved in newer versions of `apollo-upload-server`,
however, regrettably, the newer versions of that package (notably, v6 and
v7) drop support for Node.js 6 — one of two versions of Node.js that are
currently under the terms of the Node.js Foundation's Long-Term-Support
(LTS) agreements.
Since Apollo Server aims to support versions of Node.js which are under LTS
(and will drop support for Node.js 6 in April 2019, per Node.js' schedule)
the current, immediate solution is to fork the `apollo-upload-server`
package as `@apollographql/apollo-upload-server`.
With the inclusion of
https://github.com/apollographql/apollo-upload-server/pull/1 , we are able to
keep supporting Node.js 6. Without this change, every new installation
of `apollo-server`, which doesn't have a `package-lock.json` preventing
transitive dependency updates - specifically, the updates to
`@babel/runtime` versions newer than `-beta.56` - is broken.
* [squash] Update to `@apollographql/apollo-upload-server@5.0.2`.
* [squash] Update to `@apollographql/apollo-upload-server@5.0.3`.
2018-08-20 13:27:15 -07:00
Evans Hauser
3e54e60ced
Publish
...
- apollo-server-cloudflare@2.0.1
- apollo-server-core@2.0.3
- apollo-server-express@2.0.3
- apollo-server-hapi@2.0.3
- apollo-server-integration-testsuite@2.0.3
- apollo-server-koa@2.0.3
- apollo-server-lambda@2.0.3
- apollo-server-micro@2.0.3
- apollo-server@2.0.3
2018-08-16 11:40:49 -07:00
Curtis Layne
0f17f7c50e
Pass payload into the context function for subscriptions ( #1513 )
...
* Pass payload into the context function for subscriptions
The payload can be used for things like auth. You can pass a token on
the payload of the message and use it to fetch the user.
* Update CHANGELOG.md
2018-08-16 11:26:39 -07:00
Evans Hauser
efc5302930
Add option to mock the entire schema(i.e. set preserveResolvers) ( #1546 )
...
* add mockEntireSchema as configuration for preserveResolvers
* add mockEntireSchema to api reference
* add changelog
2018-08-16 11:21:13 -07:00
Evans Hauser
f7b5d63d03
Publish
...
- apollo-cache-control@0.2.2
- apollo-datasource-rest@0.1.3
- apollo-datasource@0.1.2
- apollo-engine-reporting-protobuf@0.0.1
- apollo-engine-reporting@0.0.2
- apollo-server-cache-memcached@0.1.2
- apollo-server-cache-redis@0.1.2
- apollo-server-caching@0.1.2
- apollo-server-cloudflare@2.0.0-rc.14
- apollo-server-core@2.0.2
- apollo-server-env@2.0.2
- apollo-server-errors@2.0.2
- apollo-server-express@2.0.2
- apollo-server-hapi@2.0.2
- apollo-server-integration-testsuite@2.0.2
- apollo-server-koa@2.0.2
- apollo-server-lambda@2.0.2
- apollo-server-micro@2.0.2
- apollo-server@2.0.2
- apollo-tracing@0.2.2
- graphql-extensions@0.1.2
2018-08-14 11:49:10 -07:00
Evans Hauser
ef82add05b
Publish
...
- apollo-cache-control@0.2.1
- apollo-datasource-rest@0.1.2
- apollo-datasource@0.1.1
- apollo-engine-reporting-protobuf@0.0.0
- apollo-engine-reporting@0.0.1
- apollo-server-cache-memcached@0.1.1
- apollo-server-cache-redis@0.1.1
- apollo-server-caching@0.1.1
- apollo-server-cloudflare@2.0.0-rc.13
- apollo-server-core@2.0.1
- apollo-server-env@2.0.1
- apollo-server-errors@2.0.1
- apollo-server-express@2.0.1
- apollo-server-hapi@2.0.1
- apollo-server-integration-testsuite@2.0.1
- apollo-server-koa@2.0.1
- apollo-server-lambda@2.0.1
- apollo-server-micro@2.0.1
- apollo-server@2.0.1
- apollo-tracing@0.2.1
- graphql-extensions@0.1.1
2018-08-14 11:05:31 -07:00
Jim (_nderscore)
412be208c1
Fixed GraphQL Playground with custom configuration in production. ( #1495 )
...
* Fixed support for GraphQL Playground with custom configuration in production environments.
* Updated logic in `createPlaygroundOptions` to cast the `playground` option to a boolean
if it is defined. Fall back to `isDev` logic only if undefined.
* Updated unit test for partial graphql playground options to emulate a 'production'
environment, mimicking the scenario that was broken before.
* Add PR #1495 to CHANGELOG.
* Restore partial playground options test when no `NODE_ENV`
2018-08-14 10:43:52 -07:00
Martijn Walraven
2369b06be2
Use strict top-level tsconfig and fix type issues or override per-package
2018-08-11 16:45:03 +02:00
Martijn Walraven
40bc73f61f
Remove per-package Jest config and replace with single top-level config
2018-08-11 16:45:03 +02:00
Martijn Walraven
0d89fa7cde
Make sure package.json includes clean script
2018-08-11 16:45:03 +02:00
Martijn Walraven
c049792057
Fix setupFiles reference in Jest config
2018-08-11 16:45:03 +02:00
Martijn Walraven
ef4d5e4f95
Switch to using file specifiers and root level dev dependencies only
2018-08-11 16:45:03 +02:00
Martijn Walraven
ea6faf770a
Replace prepublish scripts with prepare
2018-08-11 16:45:03 +02:00
Martijn Walraven
06e31c3249
Remove per-package test
, coverage
and circle
scripts
2018-08-11 16:45:03 +02:00
Martijn Walraven
943b91a564
Don't ignore package-lock.json
2018-08-11 16:45:03 +02:00
Renovate Bot
dfa92be140
chore(deps): update dependency @types/graphql to v0.13.4
2018-08-10 08:05:00 +00:00
Martijn Walraven
04cf5795d5
Standardize on "types" and move it after "main" in package.json
2018-08-01 10:13:16 +02:00
Martijn Walraven
9d053d6c93
Remove deprecated "typescript"/"definition" from package.json
...
This was only used by https://github.com/DefinitelyTyped/tsd , and hasn't been required since TypeScript 1.6.
2018-08-01 10:09:36 +02:00
Evans Hauser
9dd1fec766
Mocha to Jest Test Conversion ( #1453 )
...
* import jest
* remove mocha, chai, sinon
* fix JSON parsing for package.json
* replace import mocha, chai, sinon with jest
* add jest as test npm script
* remove dependency on mocha types
* errors: remove unused jest tests
* move tests to __tests__ folders
* add jest types to root tsconfig
* fix tsconfig include excludes
* .to.equal -> toEqual
* .true -> .toBe(true)
* .to.deep.equal -> .toEqual
* .to.exist -> .toBeDefined()
* .to.contain -> .toMatch
* .to.match -> .toMatch
* to.be.undefined -> .toBeUndefined()
* not.toBeDefined -> .toBeUndefined
* bring integration test up to date with past changes
* remove message from expect
* .null -> .toBe(null)
* expect.fail -> done.fail
* callsFake -> jest.fn
* mocha mock calls -> jest
* .not.to.exist -> .toBeUndefined()
* callCount -> mocks.calls.length
* returns -> jest.fn()
* .equals -> .toEqual
* fix relative imports
* remove string in expects and place as comment
* remove Fibers from runQuery
* restore -> mockRestore
* before -> beforeAll
* after -> afterAll
* fix async_hooks test and Promise await
* remove jest from testsuite package json
* remove unnecessary apollo-server-env setup
* add start of cloudflare tests
* this.timeout -> timeout argument
* express: fix relative require
* import gql tag properly
* .to.throw -> .toThrow
* .to.be.instanceof -> .toBeInstanceOf
* remove console log check test
* done(Error) -> done.fail(Error)
* done -> done.fail
* change port numbers, since jest runs in parallel
* fix toBeUndefined for null checks
* make engine port unique in testsuite
* make data source rest endpoint port unique
* add coverage scripts
* travis npm script -> cricle script
* make engine port random
* change ports to not conflict across integrations
* increase node version for apollo-server-hapi
* add node versioning to prevent hapi tests from running
* move jest dependencies to the root package.json
* make hapi port unique
* fix port reference in hapi tests
2018-07-31 15:40:03 -07:00
Evans Hauser
04e0d5bce0
Publish
...
- apollo-cache-control@0.2.0
- apollo-datasource-rest@0.1.0
- apollo-datasource@0.1.0
- apollo-engine-reporting@0.0.0
- apollo-server-cache-memcached@0.1.0
- apollo-server-cache-redis@0.1.0
- apollo-server-caching@0.1.0
- apollo-server-cloudflare@2.0.0-rc.12
- apollo-server-core@2.0.0
- apollo-server-env@2.0.0
- apollo-server-errors@2.0.0
- apollo-server-express@2.0.0
- apollo-server-hapi@2.0.0
- apollo-server-integration-testsuite@2.0.0
- apollo-server-koa@2.0.0
- apollo-server-lambda@2.0.0
- apollo-server-micro@2.0.0
- apollo-server@2.0.0
- apollo-tracing@0.2.0
- graphql-extensions@0.1.0
2018-07-19 12:49:55 -07:00
Martijn Walraven
c4d3a93e7b
Make initialize method in data sources optional
2018-07-18 16:46:46 -07:00
Martijn Walraven
eeeea09ce5
Publish
...
- apollo-cache-control@0.2.0-rc.4
- apollo-datasource-rest@0.1.0-rc.11
- apollo-datasource@0.1.0-rc.11
- apollo-engine-reporting@0.0.0-rc.5
- apollo-server-caching@0.1.0-rc.11
- apollo-server-cloudflare@2.0.0-rc.11
- apollo-server-core@2.0.0-rc.11
- apollo-server-env@2.0.0-rc.11
- apollo-server-errors@2.0.0-rc.11
- apollo-server-express@2.0.0-rc.11
- apollo-server-hapi@2.0.0-rc.11
- apollo-server-integration-testsuite@2.0.0-rc.11
- apollo-server-koa@2.0.0-rc.11
- apollo-server-lambda@2.0.0-xrc.11
- apollo-server-memcached@0.1.0-rc.11
- apollo-server-micro@2.0.0-rc.11
- apollo-server-redis@0.1.0-rc.11
- apollo-server@2.0.0-rc.11
- apollo-tracing@0.2.0-rc.4
- graphql-extensions@0.1.0-rc.5
2018-07-17 16:11:33 -07:00
Evans Hauser
9518c0ff1a
Publish
...
- apollo-cache-control@0.2.0-rc.3
- apollo-datasource-rest@0.1.0-rc.10
- apollo-datasource@0.1.0-rc.10
- apollo-engine-reporting@0.0.0-rc.4
- apollo-server-caching@0.1.0-rc.10
- apollo-server-cloudflare@2.0.0-rc.10
- apollo-server-core@2.0.0-rc.10
- apollo-server-env@2.0.0-rc.10
- apollo-server-errors@2.0.0-rc.10
- apollo-server-express@2.0.0-rc.10
- apollo-server-hapi@2.0.0-rc.10
- apollo-server-integration-testsuite@2.0.0-rc.10
- apollo-server-koa@2.0.0-rc.10
- apollo-server-lambda@2.0.0-xrc.10
- apollo-server-memcached@0.1.0-rc.10
- apollo-server-micro@2.0.0-rc.10
- apollo-server-redis@0.1.0-rc.10
- apollo-server@2.0.0-rc.10
- apollo-tracing@0.2.0-rc.3
- graphql-extensions@0.1.0-rc.4
2018-07-17 10:55:45 -07:00
Evans Hauser
0144d4b2db
Publish
...
- apollo-cache-control@0.2.0-rc.2
- apollo-datasource-rest@0.1.0-rc.9
- apollo-datasource@0.1.0-rc.9
- apollo-engine-reporting@0.0.0-rc.3
- apollo-server-caching@0.1.0-rc.9
- apollo-server-cloudflare@2.0.0-rc.9
- apollo-server-core@2.0.0-rc.9
- apollo-server-env@2.0.0-rc.9
- apollo-server-errors@2.0.0-rc.9
- apollo-server-express@2.0.0-rc.9
- apollo-server-hapi@2.0.0-rc.9
- apollo-server-integration-testsuite@2.0.0-rc.9
- apollo-server-koa@2.0.0-rc.9
- apollo-server-lambda@2.0.0-xrc.9
- apollo-server-memcached@0.1.0-rc.9
- apollo-server-micro@2.0.0-rc.9
- apollo-server-redis@0.1.0-rc.9
- apollo-server@2.0.0-rc.9
- apollo-tracing@0.2.0-rc.2
- graphql-extensions@0.1.0-rc.3
2018-07-17 10:44:15 -07:00
Martijn Walraven
15705b9919
Pass in DataSourceConfig object instead of positional args
2018-07-16 18:43:54 -07:00
Evans Hauser
e04a570f7e
pin internal dependencies ( #1361 )
2018-07-16 16:15:10 -07:00
Evans Hauser
fa6c973f36
Fix and Export Extension and Playground Types ( #1360 )
...
* export playground types
* make playground configuration recursively partial
2018-07-16 15:49:20 -07:00
renovate[bot]
3b3c50a1ab
chore(deps): pin dependencies ( #1346 )
2018-07-16 09:56:51 -07:00
Evans Hauser
db6fdd32f1
Publish
...
- apollo-cache-control@0.2.0-rc.1
- apollo-datasource-rest@2.0.0-rc.8
- apollo-datasource@2.0.0-rc.8
- apollo-engine-reporting@0.0.0-rc.2
- apollo-server-caching@2.0.0-rc.8
- apollo-server-cloudflare@2.0.0-rc.8
- apollo-server-core@2.0.0-rc.8
- apollo-server-env@2.0.0-rc.8
- apollo-server-errors@2.0.0-rc.8
- apollo-server-express@2.0.0-rc.8
- apollo-server-hapi@2.0.0-rc.8
- apollo-server-integration-testsuite@2.0.0-rc.8
- apollo-server-koa@2.0.0-rc.8
- apollo-server-lambda@2.0.0-xrc.8
- apollo-server-memcached@2.0.0-rc.8
- apollo-server-micro@2.0.0-rc.8
- apollo-server-redis@2.0.0-rc.8
- apollo-server@2.0.0-rc.8
- apollo-tracing@0.2.0-rc.1
- graphql-extensions@0.1.0-rc.2
2018-07-13 17:49:39 -07:00
Evans Hauser
990d915aec
Apollo Server 2: Remove formatParams ( #1331 )
...
* 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
2018-07-13 09:44:13 -07:00
Evans Hauser
78dcf4fccf
remove calculate headers as a function ( #1337 )
2018-07-13 09:43:28 -07:00
Adam Zionts
11b867114e
Move gui
option into constructor and use playground
( #1297 )
...
* 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
2018-07-11 15:42:00 -07:00
Martijn Walraven
f055d282e0
Extract abstract DataSource superclass into apollo-datasource package
2018-07-11 15:29:46 -07:00
Prosper Otemuyiwa
61b4939327
Enable GraphQLUpload for Apollo Server 2.0 ( #1322 )
...
* export GraphQLUpload
* fix GraphQLScalar typing
2018-07-10 05:36:34 +01:00
Evans Hauser
13b796fe34
Publish
...
- apollo-cache-control@0.2.0-rc.0
- apollo-datasource-rest@2.0.0-rc.7
- apollo-engine-reporting@0.0.0-rc.1
- apollo-server-caching@2.0.0-rc.7
- apollo-server-cloudflare@2.0.0-rc.7
- apollo-server-core@2.0.0-rc.7
- apollo-server-env@2.0.0-rc.7
- apollo-server-errors@2.0.0-rc.7
- apollo-server-express@2.0.0-rc.7
- apollo-server-hapi@2.0.0-rc.7
- apollo-server-integration-testsuite@2.0.0-rc.7
- apollo-server-koa@2.0.0-rc.7
- apollo-server-lambda@2.0.0-rc.7
- apollo-server-memcached@2.0.0-rc.7
- apollo-server-micro@2.0.0-rc.7
- apollo-server-redis@2.0.0-rc.7
- apollo-server@2.0.0-rc.7
- apollo-tracing@0.2.0-rc.0
- graphql-extensions@0.1.0-rc.1
2018-07-09 19:32:59 -07:00
Martijn Walraven
f551e2bb44
Use apq prefix for persisted query caching
2018-07-09 19:28:21 -07:00
Martijn Walraven
9e60f42845
Use main cache for persisted queries by default
2018-07-09 19:25:09 -07:00
Martijn Walraven
d01b18a704
Update GraphQL Playground version
2018-07-09 16:35:30 -07:00
Martijn Walraven
94d4d4968c
Use for-of loops instead of standard for loops
2018-07-04 22:31:55 +02:00
Martijn Walraven
4114bc5a0b
Enable strict typing for apollo-server-core and fix issues
2018-07-04 21:31:55 +02:00