Commit graph

71 commits

Author SHA1 Message Date
Jesse Rosenberger
47676e0cd9
Publish
- apollo-cache-control@0.3.2
 - apollo-engine-reporting@0.1.2
 - apollo-server-azure-functions@2.2.2
 - apollo-server-cloud-functions@2.2.2
 - apollo-server-cloudflare@2.2.2
 - apollo-server-core@2.2.2
 - apollo-server-express@2.2.2
 - apollo-server-hapi@2.2.2
 - apollo-server-integration-testsuite@2.2.2
 - apollo-server-koa@2.2.2
 - apollo-server-lambda@2.2.2
 - apollo-server-micro@2.2.2
 - apollo-server-plugin-base@0.1.2
 - apollo-server-testing@2.2.2
 - apollo-server@2.2.2
 - apollo-tracing@0.3.2
 - graphql-extensions@0.3.2
2018-11-13 15:58:57 +02:00
Martijn Walraven
26d6c73950 Update @apollographql/apollo-tools dependency to 0.2.6
Fixes #1951, apollographql/apollo-tooling#687.
2018-11-13 10:02:09 +01:00
Martijn Walraven
20eb2e9e03 Publish
- apollo-cache-control@0.3.1
 - apollo-engine-reporting@0.1.1
 - apollo-server-azure-functions@2.2.1
 - apollo-server-cloud-functions@2.2.1
 - apollo-server-cloudflare@2.2.1
 - apollo-server-core@2.2.1
 - apollo-server-express@2.2.1
 - apollo-server-hapi@2.2.1
 - apollo-server-integration-testsuite@2.2.1
 - apollo-server-koa@2.2.1
 - apollo-server-lambda@2.2.1
 - apollo-server-micro@2.2.1
 - apollo-server-plugin-base@0.1.1
 - apollo-server-testing@2.2.1
 - apollo-server@2.2.1
 - apollo-tracing@0.3.1
 - graphql-extensions@0.3.1
2018-11-12 14:26:26 +01:00
Martijn Walraven
8c9666d4d7 Update apollo-tools dependency 2018-11-09 09:12:51 -08:00
Martijn Walraven
e4a55498f8 Collect fields and pass these to resolveObject() 2018-11-09 05:49:58 -08:00
Martijn Walraven
8f6481e60f Add modules option to ApolloServer 2018-11-09 05:07:08 -08:00
Martijn Walraven
bb67584a22 Add support for resolveObject to query execution 2018-11-09 05:07:07 -08:00
Martijn Walraven
6bd73b175f Publish
- apollo-cache-control@0.3.0
 - apollo-datasource-rest@0.2.0
 - apollo-datasource@0.2.0
 - apollo-engine-reporting-protobuf@0.1.0
 - apollo-engine-reporting@0.1.0
 - apollo-server-azure-functions@2.2.0
 - apollo-server-cache-memcached@0.2.0
 - apollo-server-cache-redis@0.2.0
 - apollo-server-caching@0.2.0
 - apollo-server-cloud-functions@2.2.0
 - apollo-server-cloudflare@2.2.0
 - apollo-server-core@2.2.0
 - apollo-server-env@2.2.0
 - apollo-server-errors@2.2.0
 - apollo-server-express@2.2.0
 - apollo-server-hapi@2.2.0
 - apollo-server-integration-testsuite@2.2.0
 - apollo-server-koa@2.2.0
 - apollo-server-lambda@2.2.0
 - apollo-server-micro@2.2.0
 - apollo-server-plugin-base@0.1.0
 - apollo-server-testing@2.2.0
 - apollo-server@2.2.0
 - apollo-tracing@0.3.0
 - graphql-extensions@0.3.0
2018-11-07 08:17:21 -08:00
Jesse Rosenberger
79fe6bf0bf
Publish
- apollo-server-azure-function@2.2.0-alpha.4
 - apollo-server-cloud-functions@2.2.0-alpha.4
 - apollo-server-cloudflare@2.2.0-alpha.4
 - apollo-server-core@2.2.0-alpha.4
 - apollo-server-express@2.2.0-alpha.4
 - apollo-server-hapi@2.2.0-alpha.4
 - apollo-server-integration-testsuite@2.2.0-alpha.4
 - apollo-server-koa@2.2.0-alpha.4
 - apollo-server-lambda@2.2.0-alpha.4
 - apollo-server-micro@2.2.0-alpha.4
 - apollo-server-plugin-base@0.1.0-alpha.4
 - apollo-server-testing@2.2.0-alpha.4
 - apollo-server@2.2.0-alpha.4
 - graphql-extensions@0.3.0-alpha.4
2018-11-06 11:33:35 -08:00
Jesse Rosenberger
5ca4c07bd5
Publish
- apollo-cache-control@0.3.0-alpha.3
 - apollo-engine-reporting-protobuf@0.1.0-alpha.3
 - apollo-engine-reporting@0.1.0-alpha.3
 - apollo-server-cloud-functions@2.2.0-alpha.3
 - apollo-server-cloudflare@2.2.0-alpha.3
 - apollo-server-core@2.2.0-alpha.3
 - apollo-server-express@2.2.0-alpha.3
 - apollo-server-hapi@2.2.0-alpha.3
 - apollo-server-integration-testsuite@2.2.0-alpha.3
 - apollo-server-koa@2.2.0-alpha.3
 - apollo-server-lambda@2.2.0-alpha.3
 - apollo-server-micro@2.2.0-alpha.3
 - apollo-server-plugin-base@0.1.0-alpha.3
 - apollo-server-testing@2.2.0-alpha.3
 - apollo-server@2.2.0-alpha.3
 - apollo-tracing@0.3.0-alpha.3
 - graphql-extensions@0.3.0-alpha.3
2018-11-05 21:36:39 -08:00
Jesse Rosenberger
a6872c2f6c
Publish
- apollo-cache-control@0.3.0-alpha.2
 - apollo-datasource-rest@0.2.0-alpha.2
 - apollo-datasource@0.2.0-alpha.2
 - apollo-engine-reporting@0.1.0-alpha.2
 - apollo-server-cache-memcached@0.2.0-alpha.2
 - apollo-server-cache-redis@0.2.0-alpha.2
 - apollo-server-caching@0.2.0-alpha.2
 - apollo-server-cloud-functions@2.2.0-alpha.2
 - apollo-server-cloudflare@2.2.0-alpha.2
 - apollo-server-core@2.2.0-alpha.2
 - apollo-server-express@2.2.0-alpha.2
 - apollo-server-hapi@2.2.0-alpha.2
 - apollo-server-integration-testsuite@2.2.0-alpha.2
 - apollo-server-koa@2.2.0-alpha.2
 - apollo-server-lambda@2.2.0-alpha.2
 - apollo-server-micro@2.2.0-alpha.2
 - apollo-server-plugin-base@0.1.0-alpha.2
 - apollo-server-testing@2.2.0-alpha.2
 - apollo-server@2.2.0-alpha.2
 - apollo-tracing@0.3.0-alpha.2
 - graphql-extensions@0.3.0-alpha.2
2018-11-05 11:45:46 -08:00
Jesse Rosenberger
5b83883233
Publish
- apollo-cache-control@0.3.0-alpha.1
 - apollo-datasource-rest@0.2.0-alpha.1
 - apollo-datasource@0.2.0-alpha.1
 - apollo-engine-reporting-protobuf@0.1.0-alpha.1
 - apollo-engine-reporting@0.1.0-alpha.1
 - apollo-server-cache-memcached@0.2.0-alpha.1
 - apollo-server-cache-redis@0.2.0-alpha.1
 - apollo-server-caching@0.2.0-alpha.1
 - apollo-server-cloud-functions@2.2.0-alpha.1
 - apollo-server-cloudflare@2.2.0-alpha.1
 - apollo-server-core@2.2.0-alpha.1
 - apollo-server-env@2.1.0-alpha.1
 - apollo-server-express@2.2.0-alpha.1
 - apollo-server-hapi@2.2.0-alpha.1
 - apollo-server-integration-testsuite@2.2.0-alpha.1
 - apollo-server-koa@2.2.0-alpha.1
 - apollo-server-lambda@2.2.0-alpha.1
 - apollo-server-micro@2.2.0-alpha.1
 - apollo-server-plugin-base@0.1.0-alpha.1
 - apollo-server@2.2.0-alpha.1
 - apollo-tracing@0.3.0-alpha.1
 - graphql-extensions@0.3.0-alpha.1
2018-10-26 21:28:15 +03:00
James Baxley
2ece27d82e Pass requestContext to GraphQLExtension requestDidStart 2018-10-26 20:19:30 +03:00
Jesse Rosenberger
9a69ad3f3a
Merge branch 'master' into testing-improvements 2018-10-12 14:58:04 +03:00
Martijn Walraven
ad3562a335 Replace {} with Object.create(null) in jest.config.js 2018-10-12 13:00:13 +02:00
Martijn Walraven
68b2c691f8 Move test tsconfig.json files under __tests__ to support editors
The TypeScript language server looks for `tsconfig.json` and doesn't take project references into account when resolving the config for a file.

See https://github.com/Microsoft/TypeScript/issues/27372.
2018-10-11 23:10:45 +02:00
Martijn Walraven
0491af858d Avoid use of object spread in Jest config files to support Node 6 2018-10-11 23:10:09 +02:00
Martijn Walraven
f5d5981ffc Add TypeScript and Jest projects for tests in individual packages 2018-10-11 04:33:23 +02:00
Jesse Rosenberger
dec2b94a0e
Publish
- apollo-cache-control@0.3.0-alpha.0
 - apollo-datasource-rest@0.2.0-alpha.0
 - apollo-datasource@0.2.0-alpha.0
 - apollo-engine-reporting-protobuf@0.1.0-alpha.0
 - apollo-engine-reporting@0.1.0-alpha.0
 - apollo-server-cache-memcached@0.2.0-alpha.0
 - apollo-server-cache-redis@0.2.0-alpha.0
 - apollo-server-caching@0.2.0-alpha.0
 - apollo-server-cloud-functions@2.2.0-alpha.0
 - apollo-server-cloudflare@2.2.0-alpha.0
 - apollo-server-core@2.2.0-alpha.0
 - apollo-server-env@2.1.0-alpha.0
 - apollo-server-errors@2.1.0-alpha.0
 - apollo-server-express@2.2.0-alpha.0
 - apollo-server-hapi@2.2.0-alpha.0
 - apollo-server-integration-testsuite@2.2.0-alpha.0
 - apollo-server-koa@2.2.0-alpha.0
 - apollo-server-lambda@2.2.0-alpha.0
 - apollo-server-micro@2.2.0-alpha.0
 - apollo-server-plugin-base@0.1.0-alpha.0
 - apollo-server@2.2.0-alpha.0
 - apollo-tracing@0.3.0-alpha.0
 - graphql-extensions@0.3.0-alpha.0
2018-10-10 22:30:54 +03:00
Jesse Rosenberger
9089cc5c94
Follow-up un-reverted work to maintain support in the new request pipeline.
Prior to embarking on the request pipeline work, and to facilitate
development on the new request pipeline, @martijnwalraven and myself
intentionally reverted some commits that had been recently introduced but
conflicted with the request pipeline branch that was already in-flight.

Rather than dealing with an incredibly difficult merge conflict, it was
easier to revert them an re-apply them later.

Original commits, reversions, and reintroductions:

* 6d6c9ff, 03a894d, b90ccc2
* 96af44e, 68c82e6, 81c4642
* 408198e, 2b470e1, 84bc834
* 4175f1b, 38e7b6a, 261994c

As is demonstrated by this short follow-up commit, this was all that was
necessary to make it work in the new model - once that model was finished.

While we're certain that the new request pipeline and its plugin model will
actually better support some of the behavior that required these initial
commits in the name of not introducing breaking changes, we feel it's
necessary to maintain their support.

I will point out, if you are at all affected by the above commits, we may
consider deprecating portions of those APIs in the not too distant future,
but we hope that the new model will help support those needs even better.
2018-10-10 20:20:27 +03:00
C.J. Winslow
84bc8346cc
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-10-10 19:25:37 +03:00
Martijn Walraven
5281f3f98f Introduce request context and refactor pipeline code 2018-10-07 18:23:27 +02:00
Martijn Walraven
282ea7e022 Merge remote-tracking branch 'origin/typescript-project-references' into abernix/re-new-request-pipeline 2018-10-06 03:49:36 +02:00
Martijn Walraven
11a13cd3dd Remove apollo-server-env as a project reference
We can't use `apollo-server-env` as a project reference because that requires `composite: true`, and that implies `declaration: true`, which doesn't work for `apollo-server-env` because we need to write our own declaration files for re-exported imports.

This commit also removes `apollo-engine-reporting-protobuf` as a reference, which errored out because it doesn't actually contain any TypeScript code.
2018-10-05 23:05:49 +02:00
Martijn Walraven
8932091e67 Add root level tsconfig.json as entry point 2018-10-05 21:48:49 +02:00
Martijn Walraven
1aee215e68 Switch to tsc --build and remove run scripts from packages 2018-10-05 17:48:34 +02:00
Martijn Walraven
fcaa6ad79d Enable TypeScript project references 2018-10-05 17:47:29 +02:00
Martijn Walraven
5d03ae1650 Update to TypeScript 3.1 2018-10-05 17:18:13 +02:00
Evans Hauser
81c46421a9
Provide ability to specify client info in traces (#1631)
* Provide ability to specify client info in traces

Adds the createClientInfo to apollo-engine-reporting, which enables the
differentiation of clients based on the request, operation, and
variables. This could be extended to include the response. However for
the first release. It doesn't quite make sense.

* Use extensions and context in createClientInfo

* Remove support for clientAddress

The frontend will not support it in the near future

* create -> generate and make default generator

createClientInfo -> generateClientInfo

* Clarify default values
2018-09-27 17:26:12 +03:00
Martijn Walraven
a09d514e59
Refactor runQuery into GraphQLRequestProcessor 2018-09-27 16:46:45 +03:00
Jesse Rosenberger
2b470e1c11
Revert "Pass the context request and response extension methods (#1547)"
This reverts commit 408198e5ac.
2018-09-27 16:36:28 +03:00
Jesse Rosenberger
68c82e63c6
Revert "Provide ability to specify client info in traces (#1631)"
This reverts commit 96af44e41a.
2018-09-27 16:35:00 +03:00
Evans Hauser
86dd95e223
Publish
- apollo-cache-control@0.2.5
 - apollo-engine-reporting@0.0.6
 - apollo-server-cloud-functions@2.1.0
 - apollo-server-cloudflare@2.1.0
 - apollo-server-core@2.1.0
 - apollo-server-express@2.1.0
 - apollo-server-hapi@2.1.0
 - apollo-server-integration-testsuite@2.1.0
 - apollo-server-koa@2.1.0
 - apollo-server-lambda@2.1.0
 - apollo-server-micro@2.1.0
 - apollo-server@2.1.0
 - apollo-tracing@0.2.5
 - graphql-extensions@0.2.1
2018-09-18 15:26:48 -07:00
Evans Hauser
96af44e41a
Provide ability to specify client info in traces (#1631)
* Provide ability to specify client info in traces

Adds the createClientInfo to apollo-engine-reporting, which enables the
differentiation of clients based on the request, operation, and
variables. This could be extended to include the response. However for
the first release. It doesn't quite make sense.

* Use extensions and context in createClientInfo

* Remove support for clientAddress

The frontend will not support it in the near future

* create -> generate and make default generator

createClientInfo -> generateClientInfo

* Clarify default values
2018-09-17 22:45:34 -07:00
Evans Hauser
5adae649e3
Publish
- apollo-cache-control@0.2.4
 - apollo-engine-reporting@0.0.5
 - apollo-server-cloud-functions@2.0.4
 - apollo-server-cloudflare@2.0.5
 - apollo-server-core@2.0.7
 - apollo-server-express@2.0.7
 - apollo-server-hapi@2.0.7
 - apollo-server-integration-testsuite@2.0.7
 - apollo-server-koa@2.0.7
 - apollo-server-lambda@2.0.7
 - apollo-server-micro@2.0.7
 - apollo-server@2.0.8
 - apollo-tracing@0.2.4
 - graphql-extensions@0.2.0
2018-09-14 10:35:33 -07:00
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
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
884d44e771 Use consistent range for graphql peer dependency 2018-09-02 11:50:09 +02:00
Renovate Bot
8b2adc49ad chore(deps): update dependency graphql to v14 2018-09-02 11:50:09 +02: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
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
0d89fa7cde Make sure package.json includes clean script 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
Renovate Bot
260ab80838 chore(deps): update dependency @types/node to v10.5.7 2018-08-10 13:53:15 +00:00
Renovate Bot
dfa92be140 chore(deps): update dependency @types/graphql to v0.13.4 2018-08-10 08:05:00 +00:00
Renovate Bot
62be6ff78d chore(deps): update dependency @types/node to v10.5.5 2018-08-01 12:43:22 +00: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
Renovate Bot
e77701c772 chore(deps): update dependency jest to v23.4.2 2018-07-31 02:18:27 +00:00