Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
timleslie committed Aug 26, 2021
1 parent 89a01aa commit b7ad355
Show file tree
Hide file tree
Showing 5 changed files with 66 additions and 86 deletions.
8 changes: 4 additions & 4 deletions packages/keystone/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,10 @@
"@types/supertest": "^2.0.11",
"@types/uid-safe": "^2.1.2",
"@types/uuid": "^8.3.1",
"apollo-server-errors": "^3.0.1",
"apollo-server-express": "^3.1.1",
"apollo-server-micro": "^3.1.1",
"apollo-server-types": "^3.1.1",
"apollo-server-errors": "^3.1.0",
"apollo-server-express": "^3.3.0",
"apollo-server-micro": "^3.3.0",
"apollo-server-types": "^3.2.0",
"apollo-upload-client": "^16.0.0",
"bcryptjs": "^2.4.3",
"bytes": "^3.1.0",
Expand Down
5 changes: 3 additions & 2 deletions packages/keystone/src/lib/server/createExpressServer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { addHealthCheck } from './addHealthCheck';

const DEFAULT_MAX_FILE_SIZE = 200 * 1024 * 1024; // 200 MiB

const addApolloServer = ({
const addApolloServer = async ({
server,
config,
graphQLSchema,
Expand All @@ -35,6 +35,7 @@ const addApolloServer = ({
server.use(graphqlUploadExpress({ maxFileSize }));
// FIXME: Support custom API path via config.graphql.path.
// Note: Core keystone uses '/admin/api' as the default.
await apolloServer.start();
apolloServer.applyMiddleware({ app: server, path: '/api/graphql', cors: false });
};

Expand All @@ -61,7 +62,7 @@ export const createExpressServer = async (
addHealthCheck({ config, server });

if (isVerbose) console.log('✨ Preparing GraphQL Server');
addApolloServer({
await addApolloServer({
server,
config,
graphQLSchema,
Expand Down
1 change: 1 addition & 0 deletions tests/api-tests/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
"@keystone-next/auth": "*",
"@keystone-next/fields-document": "*",
"@keystone-next/keystone": "*",
"apollo-server-types": "^3.2.0",
"cookie-signature": "^1.1.0",
"cuid": "^2.1.8",
"globby": "^11.0.4",
Expand Down
4 changes: 2 additions & 2 deletions tests/api-tests/queries/cache-hints.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { CacheScope } from 'apollo-server-types';
import { text, relationship, integer } from '@keystone-next/fields';
import { list, createSchema, graphQLSchemaExtension } from '@keystone-next/keystone/schema';
import { text, relationship, integer } from '@keystone-next/keystone/fields';
import { list, createSchema, graphQLSchemaExtension } from '@keystone-next/keystone';
import { KeystoneContext } from '@keystone-next/keystone/types';
import { setupTestRunner } from '@keystone-next/keystone/testing';
import { apiTestConfig } from '../utils';
Expand Down
134 changes: 56 additions & 78 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1497,34 +1497,24 @@
strip-json-comments "^3.1.1"

"@graphql-tools/merge@^8.0.2":
version "8.0.2"
resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.0.2.tgz#510d6a8da6a761853e18d36710a23791edbc2405"
integrity sha512-li/bl6RpcZCPA0LrSxMYMcyYk+brer8QYY25jCKLS7gvhJkgzEFpCDaX43V1+X13djEoAbgay2mCr3dtfJQQRQ==
version "8.0.3"
resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.0.3.tgz#56c844bc5d7d833456695c8e5eda4f1a0d5be873"
integrity sha512-lVMyW9cREs+nQYbUvMaaqSl+pRCezl2RafNMFi/04akjvOtjVefdi7n3pArpSqPhLHPJDyQRlI8CK8cmOZ9jTA==
dependencies:
"@graphql-tools/utils" "^8.1.1"
"@graphql-tools/utils" "^8.1.2"
tslib "~2.3.0"

"@graphql-tools/mock@^8.1.2":
version "8.2.0"
resolved "https://registry.yarnpkg.com/@graphql-tools/mock/-/mock-8.2.0.tgz#7df84ccda3b55ecbaa42ada94e994c60ccc43aba"
integrity sha512-E6rZITUsexmTssAsPSiVFFBePI9L7VZ33+WQBWldJwqduJ9z1WsL+2eJuKPlOIsQ15cbpnHkr2mIv/yrZv99ug==
version "8.2.2"
resolved "https://registry.yarnpkg.com/@graphql-tools/mock/-/mock-8.2.2.tgz#ff6b520a7234f23bff302406286d2e68b8177792"
integrity sha512-3cUJi14UHW1/8mebbXlAqfZl78IxeKzF2QlcJV5PSRQe27Dp/UnkHyid1UH/iwBdA98J7l0uw8NU1MRRVjhjIA==
dependencies:
"@graphql-tools/schema" "^8.1.0"
"@graphql-tools/utils" "8.1.0"
"@graphql-tools/schema" "^8.1.2"
"@graphql-tools/utils" "^8.1.1"
fast-json-stable-stringify "^2.1.0"
tslib "~2.3.0"

"@graphql-tools/schema@^8.0.0", "@graphql-tools/schema@^8.1.0":
version "8.1.0"
resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-8.1.0.tgz#08a96c23bc8cb63e2f9fa1ea6c052a486d2c92e7"
integrity sha512-k6M877jFTKjlRU2f2YYjWx+FKXlhuQlCQQ8IdG5API4UL1qk57zYoNnYlT+CJfWxEfcMvEd6AlJ8wvmapzr53A==
dependencies:
"@graphql-tools/merge" "8.0.0"
"@graphql-tools/utils" "8.1.0"
tslib "~2.3.0"
value-or-promise "1.0.10"

"@graphql-tools/schema@^8.1.2":
"@graphql-tools/schema@^8.0.0", "@graphql-tools/schema@^8.1.2":
version "8.1.2"
resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-8.1.2.tgz#913879da1a7889a9488e9b7dc189e7c83eff74be"
integrity sha512-rX2pg42a0w7JLVYT+f/yeEKpnoZL5PpLq68TxC3iZ8slnNBNjfVfvzzOn8Q8Q6Xw3t17KP9QespmJEDfuQe4Rg==
Expand All @@ -1534,14 +1524,7 @@
tslib "~2.3.0"
value-or-promise "1.0.10"

"@graphql-tools/[email protected]", "@graphql-tools/utils@^8.0.0":
version "8.1.0"
resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.1.0.tgz#ea64fefa5c3bcb3dec06be765c128c1bf0cc829f"
integrity sha512-V5a7xAxZ6DHzrYYticmsLgWim+vGnC6ztbiOXrO5cGtOOk5NSK657SZXsyVOR7hNvdWiHSW0dlBZb6zkkfOnHA==
dependencies:
tslib "~2.3.0"

"@graphql-tools/utils@^8.1.1":
"@graphql-tools/utils@^8.0.0", "@graphql-tools/utils@^8.1.1", "@graphql-tools/utils@^8.1.2":
version "8.1.2"
resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.1.2.tgz#a376259fafbca7532fda657e3abeec23b545e5d3"
integrity sha512-3G+NIBR5mHjPm78jAD0l07JRE0XH+lr9m7yL/wl69jAzK0Jr/H+/Ok4ljEolI70iglz+ZhIShVPAwyesF6rnFg==
Expand Down Expand Up @@ -3497,12 +3480,12 @@ apollo-cache-control@^0.14.0:
apollo-server-env "^3.1.0"
apollo-server-plugin-base "^0.13.0"

apollo-datasource@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-3.0.3.tgz#616ccf2cbfaa6d9bf04520bf7d80da0e372eee5c"
integrity sha512-oboGz50DbGW6LNaNvB/bpJRypXvYFE1SRO5VxYSUnkz1P7TDcemWfJLRjNnfxCIMVyd0hmmwrmSaGKPQZvmT9Q==
apollo-datasource@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-3.1.0.tgz#44153cb99c7602f4524397ebc8f13e486a010c09"
integrity sha512-ywcVjuWNo84eMB9uBOYygQI+00+Ne4ShyPIxJzT//sn1j1Fu3J+KStMNd6s1jyERWgjGZzxkiLn6nLmwsGymBg==
dependencies:
apollo-server-caching "^3.0.1"
apollo-server-caching "^3.1.0"
apollo-server-env "^4.0.3"

apollo-graphql@^0.9.0:
Expand Down Expand Up @@ -3535,32 +3518,32 @@ apollo-server-caching@^0.7.0:
dependencies:
lru-cache "^6.0.0"

apollo-server-caching@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/apollo-server-caching/-/apollo-server-caching-3.0.1.tgz#bb6e51442266cb3ff05611c24c4e2f2fe8d6949e"
integrity sha512-Cd0imFQlU6IKrkm+RNY0MQvKTMBTME+518EuwCaw3TKNUYDpir1vOuIdc4bALXDANilOR73k/UQs/oPxayXfrg==
apollo-server-caching@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/apollo-server-caching/-/apollo-server-caching-3.1.0.tgz#c68f2159ad8a25a0bdbb18ad6bdbbde59cd4647d"
integrity sha512-bZ4bo0kSAsax9LbMQPlpuMTkQ657idF2ehOYe4Iw+8vj7vfAYa39Ii9IlaVAFMC1FxCYzLNFz+leZBm/Stn/NA==
dependencies:
lru-cache "^6.0.0"

apollo-server-core@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-3.1.2.tgz#a9d24b9453b7aad89df464f6527d80e2f46b0a6f"
integrity sha512-bFmzPDGBT97vMzdhhjlycL9Ey4YDa0eCVaHjI5TcYQM8Vphzvndd033DvvQFVRPWoZr8uwupeUyVa82Ne/iM6A==
apollo-server-core@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-3.3.0.tgz#f973c6f755884f8e17452cb9022672ae6f0ed9e7"
integrity sha512-KmkzKVG3yjybouDyUX6Melv39u1EOFipvAKP17IlPis/TjVbubJmb6hkE0am/g2RipyhRvlpxAjHqPaCTXR1dQ==
dependencies:
"@apollographql/apollo-tools" "^0.5.1"
"@apollographql/graphql-playground-html" "1.6.29"
"@graphql-tools/mock" "^8.1.2"
"@graphql-tools/schema" "^8.0.0"
"@graphql-tools/utils" "^8.0.0"
"@josephg/resolvable" "^1.0.0"
apollo-datasource "^3.0.3"
apollo-datasource "^3.1.0"
apollo-graphql "^0.9.0"
apollo-reporting-protobuf "^3.0.0"
apollo-server-caching "^3.0.1"
apollo-server-caching "^3.1.0"
apollo-server-env "^4.0.3"
apollo-server-errors "^3.0.1"
apollo-server-plugin-base "^3.1.1"
apollo-server-types "^3.1.1"
apollo-server-errors "^3.1.0"
apollo-server-plugin-base "^3.2.0"
apollo-server-types "^3.2.0"
async-retry "^1.2.1"
fast-json-stable-stringify "^2.1.0"
graphql-tag "^2.11.0"
Expand All @@ -3584,36 +3567,36 @@ apollo-server-env@^4.0.3:
dependencies:
node-fetch "^2.6.1"

apollo-server-errors@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-3.0.1.tgz#0dfcc1fe8b10eab311fc7e4f6da93189ea6bcdae"
integrity sha512-PSp64IFeN1YK5EYZ3V/8iDRESMMyE00h1vE5aCr83wHL3T0mN7VRiMKoOIZ+2rUtnn7CpK73o6QLmouhxPtXsQ==
apollo-server-errors@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-3.1.0.tgz#0b890dc7ae36a1f0ca4841d353e8d1c3c6524ee2"
integrity sha512-bUmobPEvtcBFt+OVHYqD390gacX/Cm5s5OI5gNZho8mYKAA6OjgnRlkm/Lti6NzniXVxEQyD5vjkC6Ox30mGFg==

apollo-server-express@^3.1.1:
version "3.1.2"
resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-3.1.2.tgz#274c71c0269fb126d1c6fd30889fbcd661493f4e"
integrity sha512-GeeQlFjFqugiGfLApBNmgLtyDXGVqacLdGhBccn7GQaxzpJ9YSsREUsoN+Fze6RVQ4/Igaq3QoNgBhrahXwBBQ==
apollo-server-express@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-3.3.0.tgz#23ec8b102a4758548c1416fb4770334e814ffb12"
integrity sha512-qJedh77IxbfT+HpYsDraC2CGdy08wiWTwoKYXjRK4S/DHbe94A4957/1blw4boYO4n44xRKQd1k6zxiixCp+XQ==
dependencies:
"@types/accepts" "^1.3.5"
"@types/body-parser" "1.19.1"
"@types/cors" "2.8.12"
"@types/express" "4.17.13"
"@types/express-serve-static-core" "4.17.24"
accepts "^1.3.5"
apollo-server-core "^3.1.2"
apollo-server-types "^3.1.1"
apollo-server-core "^3.3.0"
apollo-server-types "^3.2.0"
body-parser "^1.19.0"
cors "^2.8.5"
parseurl "^1.3.3"

apollo-server-micro@^3.1.1:
version "3.1.2"
resolved "https://registry.yarnpkg.com/apollo-server-micro/-/apollo-server-micro-3.1.2.tgz#ed80edb9fd5dc0ce20ff61af73cb03de07d612e7"
integrity sha512-9mtaEZfWsVXASXeQPEG5Lf3xBKWUilHbO/SkTYVC0Mi5amNq8In5a6NxkMvSDBMjv2xGuQUob+WHaCcSkuT1gg==
apollo-server-micro@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/apollo-server-micro/-/apollo-server-micro-3.3.0.tgz#02aeed4e130f418d896371bb120c51c399c1e27d"
integrity sha512-PTyTgre87Yh89fwml9pCdac60vlmByLYaUqdGtZMG8Z6GQ4tGMo7cUYPMK+FbNFr8/27oOxK8CvEAF3ogAYlCw==
dependencies:
"@hapi/accept" "^5.0.2"
apollo-server-core "^3.1.2"
apollo-server-types "^3.1.1"
apollo-server-core "^3.3.0"
apollo-server-types "^3.2.0"
type-is "^1.6.18"

apollo-server-plugin-base@^0.13.0:
Expand All @@ -3623,12 +3606,12 @@ apollo-server-plugin-base@^0.13.0:
dependencies:
apollo-server-types "^0.9.0"

apollo-server-plugin-base@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-3.1.1.tgz#b2d8d50c52af7c004fd63e04c53f2d2bf800c4df"
integrity sha512-gkV/UtMji6SrX8CdZ5/3IlRBVE57CM+DL6x9MA3pjNEc357OOC3dnh1SXNmp0cvqn66CB1kODGrqKGRxyl/qpA==
apollo-server-plugin-base@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-3.2.0.tgz#415337a0b1b88fc1d5f5620130a51e2935dd8dbf"
integrity sha512-anjyiw79wxU4Cj2bYZFWQqZPjuaZ4mVJvxCoyvkFrNvjPua9dovCOfpng43C5NwdsqJpz78Vqs236eFM2QoeaA==
dependencies:
apollo-server-types "^3.1.1"
apollo-server-types "^3.2.0"

apollo-server-types@^0.9.0:
version "0.9.0"
Expand All @@ -3639,13 +3622,13 @@ apollo-server-types@^0.9.0:
apollo-server-caching "^0.7.0"
apollo-server-env "^3.1.0"

apollo-server-types@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/apollo-server-types/-/apollo-server-types-3.1.1.tgz#a45bf4d7c978340dc7c7dff317628629bdc53443"
integrity sha512-dTNlRxqdo+wnrcOFpFfzehdmcYHl6MQKuLnCCRzAHuVR5yOiuhQ5CIGhIjvMx2bP9ZoyON1SvXOIDTyTaU9gaQ==
apollo-server-types@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/apollo-server-types/-/apollo-server-types-3.2.0.tgz#6243b34d35fbb09ded2cc84bf7e5f59968ccfa21"
integrity sha512-Fh7QP84ufDZHbLzoLyyxyzznlW8cpgEZYYkGsS1i36zY4VaAt5OUOp1f+FxWdLGehq0Arwb6D1W7y712IoZ/JQ==
dependencies:
apollo-reporting-protobuf "^3.0.0"
apollo-server-caching "^3.0.1"
apollo-server-caching "^3.1.0"
apollo-server-env "^4.0.3"

apollo-upload-client@^16.0.0:
Expand Down Expand Up @@ -7658,16 +7641,11 @@ is-buffer@^2.0.0:
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191"
integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==

is-callable@^1.1.3:
is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.3:
version "1.2.4"
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945"
integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==

is-callable@^1.1.4, is-callable@^1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e"
integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==

[email protected], is-ci@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.0.tgz#c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994"
Expand Down

0 comments on commit b7ad355

Please sign in to comment.