Commit graph

2830 commits

Author SHA1 Message Date
Jesse Rosenberger
ce4e504f00
Merge pull request #2276 from apollographql/abernix/allow-any-case-for-privateHeaders
Compare Engine reporting's `privateHeaders` case-insensitively, as documented.
2019-02-07 12:36:29 +02:00
Jesse Rosenberger
4c1b56aca0
Update CHANGELOG.md 2019-02-07 11:44:26 +02:00
Jesse Rosenberger
5ee9845537
Compare Engine reporting's privateHeaders case-insensitively, as documented.
The documentation for `privateHeaders`[[0]] suggests that it is
case-insensitive.  While that statement is true, and the incoming header is
lower-cased before checking it against the `privateHeaders` configuration,
it assumed that the headers in the `privateHeaders` object were specified in
lower-case.

This changes the comparison to lower-case both sides prior to determining
equality.

[0]: https://github.com/apollographql/apollo-server/blob/abb8dc58/packages/apollo-engine-reporting/src/agent.ts#L67-L70

Fixes: https://github.com/apollographql/apollo-server/issues/2273
2019-02-06 12:50:10 +02:00
Jesse Rosenberger
3dfbfcc0d8
Use Array.isArray rather than typeof ... === 'object' to check Arrayness. 2019-02-06 12:24:01 +02:00
Jesse Rosenberger
5666235119
Merge branch 'master' into release-2.4.0 2019-02-06 12:06:02 +02:00
Daniel Beck
7b1f6ddeb1 Note that schema stitching and file uploads are incompatible. (#2272) 2019-02-06 11:55:26 +02:00
Jesse Rosenberger
8b1b3d795b
Fix: Serialize arrays as JSON on fetch in RESTDataSource (#2219)
Fixes issue introduced in https://github.com/apollographql/apollo-server/pull/1125 and logged in https://github.com/apollographql/apollo-server/issues/2186 and https://github.com/apollographql/apollo-server/issues/2196.

Arrays are valid JSON per spec: https://tools.ietf.org/html/rfc7159
2019-02-05 14:28:44 +02:00
Jesse Rosenberger
f99ebd373b
Set apollo-datasource-rest version back to v0.2.2.
Lerna will take care of this on publishing.
2019-02-05 13:11:43 +02:00
Chris Airey
e8e49026dd Serialize arrays as JSON on fetch in RESTDataSource 2019-02-05 03:38:21 -05:00
renovate[bot]
e571f72f93
chore(deps): update dependency hapi to v17.8.4 (#2271) 2019-02-05 05:23:06 +00:00
renovate[bot]
b31d6a6961
chore(deps): update dependency @types/jest to v23.3.14 (#2270) 2019-02-05 04:19:42 +00:00
Jesse Rosenberger
4b8dc7c556
Update package-lock.json to finish #2217. 2019-02-04 18:14:56 +02:00
Dennis Johnson
95949971d4 chore(deps): update dependency @types/koa-bodyparser to a valid 4.2.1… (#2217)
… version

This PR should hopefully correct some typing issues we are currently facing.

The problem:
- this package references v5.0.1 for @types/koa-bodyparser
- when we start our server that also uses koa-bodyparser for non-graphql routes, the type for koa.Request sets the "body" field to:

```
declare module "koa" {
    interface Request {
        body: {} | null | undefined;
        rawBody: {} | null | undefined;
    }
}
```

Which breaks our type defs for koa-bodyparser as we actually want "body" to be set to "any."

The v5.0.1 that was originally placed here is no longer "latest" and they have published a new v4 version that has the correct typing for koa-bodyparser (setting body to any). - https://www.npmjs.com/package/@types/koa-bodyparser

<!--
  Thanks for filing a pull request on GraphQL Server!

  Please look at the following checklist to ensure that your PR
  can be accepted quickly:
-->

TODO:

* [ ] Update CHANGELOG.md with your change (include reference to issue & this PR)
* [x] Make sure all of the significant new logic is covered by tests
* [x] Rebase your changes on master so that they can be merged easily
* [x] Make sure all tests and linter rules pass
2019-02-04 18:10:07 +02:00
Jesse Rosenberger
d0998e7e28
Merge remote-tracking branch 'origin/master' into release-2.4.0 2019-02-04 17:22:15 +02:00
Jesse Rosenberger
6853b5238c
docs: Fix misspelling of "example".
Follows-up #2231.
2019-02-04 15:05:20 +02:00
Bill Fienberg
60794ecad0 Fix grammar error (missing preposition) (#2231)
*Before*: allows the addition custom
*After*: allows the addition of custom
2019-02-04 15:04:37 +02:00
renovate[bot]
b206057456
chore(deps): update dependency prettier to v1.16.4 (#2268) 2019-02-04 12:20:22 +00:00
Jesse Rosenberger
060ec62cd1
Merge pull request #2259 from apollographql/abernix/engine-signatures-to-apollo-graphql
Move `apollo-engine-reporting` signatures into `apollo-graphql`.
2019-02-04 13:05:12 +02:00
renovate[bot]
79ccf888da
chore(deps): update dependency lint-staged to v8.1.3 (#2267) 2019-02-04 10:20:54 +00:00
renovate[bot]
316137f084
chore(deps): update dependency lerna to v3.10.8 (#2262) 2019-02-02 06:14:48 +00:00
renovate[bot]
babb774bfe
chore(deps): update dependency apollo-link-http to v1.5.11 (#2261) 2019-02-02 05:16:16 +00:00
renovate[bot]
16f2f155b8
chore(deps): update dependency apollo-link to v1.2.8 (#2260) 2019-02-02 04:16:24 +00:00
Jesse Rosenberger
e84aca256c
Update apollo-server.md to reflect new location of signature reference. 2019-02-01 20:40:28 +02:00
Jesse Rosenberger
59d5a5088a
Add apollo-graphql as a project reference to apollo-engine-reporting. 2019-02-01 20:40:28 +02:00
Jesse Rosenberger
d4a5cad2d1
Also update jest.config.base.js RegExp with new apollo-graphql package. 2019-02-01 20:40:28 +02:00
Jesse Rosenberger
b3758d8e47
Update apollo-engine-reporting's CHANGELOG.md for a major breaking change. 2019-02-01 20:40:27 +02:00
Jesse Rosenberger
9eca821345
Bump the major version of apollo-engine-reporting. 2019-02-01 20:40:27 +02:00
Jesse Rosenberger
21c274870f
Use lodash.sortby modularly, rather than all of lodash.
Currently, the only place that we use `lodash` in the entire `apollo-server`
repository is to utilize the `sortBy` function in this signature generation.

Looking at the bundle stats, it appears that lodash represents 7.1% of the
`apollo-server` package.  We're a server, so bundle size is generally less
of a concern, but it's still not to be ignored, particularly as we move into
worker environments.  More pressingly though, since this package will be
utilized by the `apollo` CLI, we'll be shaving precious download time off
the invocation of `npx apollo` if we can get this down.

By switching to the modular package (but still depending on `@types/lodash`
for _just_ the `ListIteratee` type — which we only need in development — we
should be able to trim 55.4kB minified (19.1kB minified+gzip'd) off the
`apollo-server` build.

cc @trevor-scheer @jbaxleyiii @martijnwalraven
2019-02-01 20:40:14 +02:00
Jesse Rosenberger
96de2d71d7
Move Engine signature AST traversals/transforms into ./transforms module.
These AST visitors and transformations are more generally usable for other
purposes rather than just the Apollo Engine signature reporting and would
seem to belong in a module of their own.
2019-02-01 20:40:11 +02:00
Jesse Rosenberger
e565226370
Move apollo-engine-reporting signature calculations to new apollo-graphql.
Many of these signature calculation functions are now utilized in tools or
helpers which are not directly related to `apollo-server` functionality,
including various aspects of the `apollo` CLI which live within
`apollo-tooling`.

Currently, because of `apollo`'s dependency on `apollo-engine-reporting` for
this signature, this requires bringing in the entire dependency tree which
`apollo-server-core` relies on since `apollo-engine-reporting` depends on
`apollo-server-core`.

By moving this into this new `apollo-graphql` utility library, we're able to
trim that rather hefty dependency tree and drastically reduce the download
for running, say, `npx apollo`.
2019-02-01 19:03:59 +02:00
Jesse Rosenberger
1a3ac9b4a0
Move Apollo Engine signatures into apollo-graphql. 2019-02-01 18:43:04 +02:00
Jesse Rosenberger
6092e99bf1
Publish
- apollo-graphql@0.0.1-alpha.0
2019-02-01 18:22:58 +02:00
Jesse Rosenberger
e55f231291
Setup the foundation for a new apollo-graphql utility library.
As of this commit, this package provides nothing!
2019-02-01 18:20:59 +02:00
Jesse Rosenberger
5bcf06a1b8
Update package-lock.json with >=npm@6.6.0 to fix optional flapping.
Hopefully!
2019-02-01 16:34:28 +02:00
Jesse Rosenberger
21c4c11a18
Merge remote-tracking branch 'public/master' into release-2.4.0 2019-02-01 14:00:59 +02:00
renovate[bot]
7dc854935d
chore(deps): update dependency @types/node to v10.12.21 (#2256) 2019-02-01 07:17:13 +00:00
renovate[bot]
76862f67e4
chore(deps): update dependency typescript to v3.3.1 (#2255) 2019-02-01 05:17:56 +00:00
renovate[bot]
455c7ebc86
chore(deps): update dependency hapi to v17.8.3 (#2254) 2019-02-01 04:15:35 +00:00
Jesse Rosenberger
8d9d7fea12
Publish
- apollo-engine-reporting@0.2.2
 - apollo-server-core@2.3.4
2019-01-31 19:03:17 +02:00
Trevor Scheer
b64895ddec
Add apollo-server-core to deps in apollo-engine-reporting (#2248)
* Add apollo-server-core to deps in apollo-engine-reporting

* Add reference to requestPipelineAPI
2019-01-31 08:59:36 -08:00
Michael P. Geraci
a0e25cf2bd Fix a typo in the "Custom GraphQLScalarType instance" example (#2247)
This is just a quick fix for a typo that threw me for a loop when testing out this example.
2019-01-31 10:12:47 +02:00
renovate[bot]
c561b02e99
chore(deps): update dependency prettier to v1.16.3 (#2251) 2019-01-31 06:19:07 +00:00
renovate[bot]
671453ef53
chore(deps): update dependency @types/node-fetch to v2.1.5 (#2250) 2019-01-31 04:55:26 +00:00
renovate[bot]
57433c456d
chore(deps): update dependency @types/node to v10.12.20 (#2249) 2019-01-31 04:19:43 +00:00
renovate[bot]
0ba70f97b0
chore(deps): update dependency prettier to v1.16.2 (#2245) 2019-01-30 10:27:42 +00:00
Jesse Rosenberger
03283f9ad3
Merge branch 'master' into release-2.4.0 2019-01-29 12:10:13 +02:00
Jesse Rosenberger
5939327edd
Publish
- apollo-server-azure-functions@2.3.3
 - apollo-server-cloud-functions@2.3.3
 - apollo-server-cloudflare@2.3.3
 - apollo-server-core@2.3.3
 - apollo-server-express@2.3.3
 - apollo-server-hapi@2.3.3
 - apollo-server-integration-testsuite@2.3.3
 - apollo-server-koa@2.3.3
 - apollo-server-lambda@2.3.3
 - apollo-server-micro@2.3.3
 - apollo-server-plugin-base@0.2.3
 - apollo-server-testing@2.3.3
 - apollo-server@2.3.3
 - graphql-extensions@0.4.3
2019-01-29 11:51:30 +02:00
Jesse Rosenberger
3d106039b6
Update CHANGELOG.md in preparation for v2.3.3 release. 2019-01-29 11:39:28 +02:00
Jesse Rosenberger
db39aa5604
Remove willStart from apollo-server, already called via …-express. (#2239)
* Remove `willStart` from `apollo-server`, already called via `...-express`.

When the request pipeline was initially introduced, the integrations
had yet to be updated to call the new life-cycle events.  Now, the
integrations have all caught up, but `apollo-server` is still calling
`willStart`, despite the fact that its dependency which provides the actual
server implementation — `apollo-server-express` – is _also_ calling it,
resulting in double invocation of this event.

I suspect some follow-up work should guard against this possibility, but for
now this should remove the duplication.

* Update CHANGELOG.md for #2239.

Ref: https://github.com/apollographql/apollo-server/pull/2239
2019-01-29 11:39:08 +02:00
Kurt Mackey
cd674aae72 More strict check for node version for graphql-upload (#2235)
Stop traversing the `graphql-upload` module tree in all non-Node.js environments, to support subset-V8 runtimes like Fly.io.
2019-01-29 11:36:40 +02:00