From 0553206a84bdf90cf61e3792163ea5731b374375 Mon Sep 17 00:00:00 2001 From: piglovesyou Date: Wed, 27 Feb 2019 22:47:10 +0900 Subject: [PATCH 1/3] update apollo packages --- package.json | 18 +-- yarn.lock | 435 ++++++++++++++++++++++++++++----------------------- 2 files changed, 244 insertions(+), 209 deletions(-) diff --git a/package.json b/package.json index 1680ddc93c..dd16c69143 100644 --- a/package.json +++ b/package.json @@ -14,16 +14,16 @@ ], "dependencies": { "@babel/polyfill": "^7.0.0", - "apollo-cache-inmemory": "^1.2.10", - "apollo-client": "^2.4.2", - "apollo-link": "^1.2.3", - "apollo-link-error": "^1.1.1", - "apollo-link-http": "^1.5.5", + "apollo-cache-inmemory": "^1.5.0", + "apollo-client": "^2.5.0", + "apollo-link": "^1.2.8", + "apollo-link-error": "^1.1.7", + "apollo-link-http": "^1.5.11", "apollo-link-logger": "^1.2.3", - "apollo-link-schema": "^1.1.1", + "apollo-link-schema": "^1.1.6", "apollo-link-state": "^0.4.2", - "apollo-server": "^2.1.0", - "apollo-server-express": "^2.1.0", + "apollo-server": "^2.4.8", + "apollo-server-express": "^2.4.8", "body-parser": "^1.18.3", "classnames": "^2.2.6", "cookie-parser": "^1.4.3", @@ -43,7 +43,7 @@ "prop-types": "^15.6.2", "query-string": "^6.1.0", "react": "^16.5.2", - "react-apollo": "^2.1.11", + "react-apollo": "^2.5.0", "react-dom": "^16.5.2", "sequelize": "^4.38.1", "serialize-javascript": "^1.5.0", diff --git a/yarn.lock b/yarn.lock index 5a83653a87..78680e000e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,13 +9,12 @@ dependencies: apollo-env "0.3.2" -"@apollographql/apollo-upload-server@^5.0.3": - version "5.0.3" - resolved "https://registry.yarnpkg.com/@apollographql/apollo-upload-server/-/apollo-upload-server-5.0.3.tgz#8558c378ff6457de82147e5072c96a6b242773b7" +"@apollographql/apollo-tools@^0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@apollographql/apollo-tools/-/apollo-tools-0.3.3.tgz#7ec7af07021336ab6947e21e290dd06cb705233e" + integrity sha512-/vLzZjloWB4xzgw2MRs9TUDIdCzS+No1hEClkEKqcnH86c2EgE/W0Dv2nkCTH9WxDrfryziJWbNMurYYkm61Zw== dependencies: - "@babel/runtime-corejs2" "^7.0.0-rc.1" - busboy "^0.2.14" - object-path "^0.11.4" + apollo-env "0.3.3" "@apollographql/graphql-language-service-interface@^2.0.2": version "2.0.2" @@ -45,10 +44,6 @@ dependencies: "@apollographql/graphql-language-service-types" "^2.0.0" -"@apollographql/graphql-playground-html@^1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.0.tgz#15e1a042b97d6834e6d70b17cc73e1514fde9027" - "@apollographql/graphql-playground-html@^1.6.6": version "1.6.6" resolved "https://registry.yarnpkg.com/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.6.tgz#022209e28a2b547dcde15b219f0c50f47aa5beb3" @@ -753,13 +748,6 @@ pirates "^4.0.0" source-map-support "^0.5.9" -"@babel/runtime-corejs2@^7.0.0-rc.1": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs2/-/runtime-corejs2-7.0.0.tgz#786711ee099c2c2af7875638866c1259eff30a8c" - dependencies: - core-js "^2.5.7" - regenerator-runtime "^0.12.0" - "@babel/template@7.0.0-beta.44": version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.44.tgz#f8832f4fdcee5d59bf515e595fc5106c529b394f" @@ -1080,10 +1068,6 @@ dependencies: "@types/node" "*" -"@types/async@2.0.49": - version "2.0.49" - resolved "https://registry.yarnpkg.com/@types/async/-/async-2.0.49.tgz#92e33d13f74c895cb9a7f38ba97db8431ed14bc0" - "@types/body-parser@*", "@types/body-parser@1.17.0": version "1.17.0" resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.17.0.tgz#9f5c9d9bd04bb54be32d5eb9fc0d8c974e6cf58c" @@ -1115,7 +1099,7 @@ "@types/node" "*" "@types/range-parser" "*" -"@types/express@*", "@types/express@4.16.0": +"@types/express@*": version "4.16.0" resolved "https://registry.yarnpkg.com/@types/express/-/express-4.16.0.tgz#6d8bc42ccaa6f35cf29a2b7c3333cb47b5a32a19" dependencies: @@ -1123,6 +1107,15 @@ "@types/express-serve-static-core" "*" "@types/serve-static" "*" +"@types/express@4.16.1": + version "4.16.1" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.16.1.tgz#d756bd1a85c34d87eaf44c888bad27ba8a4b7cf0" + integrity sha512-V0clmJow23WeyblmACoxbHBu2JKlE5TiIme6Lem14FnPW9gsttyHtk6wq7njcdIWH1njAaFgR8gW09lgY98gQg== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "*" + "@types/serve-static" "*" + "@types/fs-extra@^5.0.2": version "5.0.4" resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-5.0.4.tgz#b971134d162cc0497d221adde3dbb67502225599" @@ -1165,13 +1158,6 @@ "@types/express-serve-static-core" "*" "@types/mime" "*" -"@types/ws@^5.1.2": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-5.1.2.tgz#f02d3b1cd46db7686734f3ce83bdf46c49decd64" - dependencies: - "@types/events" "*" - "@types/node" "*" - "@types/ws@^6.0.0": version "6.0.1" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-6.0.1.tgz#ca7a3f3756aa12f62a0a62145ed14c6db25d5a28" @@ -1509,40 +1495,47 @@ apollo-cache-control@0.4.1: apollo-server-env "2.2.0" graphql-extensions "0.4.2" -apollo-cache-control@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.2.5.tgz#0831ad796754a7beec858668f99e7517fe744a1e" +apollo-cache-control@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.5.2.tgz#47931ede0b11c64d45429850c274b30d19322362" + integrity sha512-uehXDUrd3Qim+nzxqqN7XT1YTbNSyumW3/FY5BxbKZTI8d4oPG4eyVQKqaggooSjswKQnOoIQVes3+qg9tGAkw== dependencies: - apollo-server-env "^2.0.3" - graphql-extensions "^0.2.1" + apollo-server-env "2.2.0" + graphql-extensions "0.5.4" -apollo-cache-inmemory@^1.2.10: - version "1.2.10" - resolved "https://registry.yarnpkg.com/apollo-cache-inmemory/-/apollo-cache-inmemory-1.2.10.tgz#362d6c36cfd815a309b966f71e5d2b6c770c7989" +apollo-cache-inmemory@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/apollo-cache-inmemory/-/apollo-cache-inmemory-1.5.0.tgz#90b1a38f744762ab47c415b9d7b2d32fbd803088" + integrity sha512-hyg8R7G3XOfZhl8fQLs0vGEwi2rr8PuEIiumCY4qmwviaGsmwjs/Dm63cyeMm3Sfu05vzFQkwMdBf5u7xBg3cQ== dependencies: - apollo-cache "^1.1.17" - apollo-utilities "^1.0.21" - graphql-anywhere "^4.1.19" + apollo-cache "^1.2.0" + apollo-utilities "^1.2.0" + optimism "^0.6.9" + ts-invariant "^0.2.1" + tslib "^1.9.3" -apollo-cache@1.1.17, apollo-cache@^1.1.17: - version "1.1.17" - resolved "https://registry.yarnpkg.com/apollo-cache/-/apollo-cache-1.1.17.tgz#1fcca8423125223723b97fd72808be91a1a76490" +apollo-cache@1.2.0, apollo-cache@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/apollo-cache/-/apollo-cache-1.2.0.tgz#7ebfc9a53027264e4a5bce9b886471cc77c50784" + integrity sha512-aZduG7o75crjWeONq9kVzkqO9hAcEklo3oN6Rd+ANpB+ImRklCFkz88XdXQ2/GHV26jh8VtQJIhiNIow10QzIg== dependencies: - apollo-utilities "^1.0.21" + apollo-utilities "^1.2.0" + tslib "^1.9.3" -apollo-client@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/apollo-client/-/apollo-client-2.4.2.tgz#d2f044d8740723bf98a6d8d8b9684ee8c36150e6" +apollo-client@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/apollo-client/-/apollo-client-2.5.0.tgz#8721318ad0d30e364b594f5dc2ee94c3a9dc5f1f" + integrity sha512-px2qCsbxrJFy+nkEOmtCMTl7svPMYlmoqKVfJx3ZAdE4mdlQp9BMm47nT7l9pHdez5U/QJmpgz5OICHLfjloGg== dependencies: "@types/zen-observable" "^0.8.0" - apollo-cache "1.1.17" + apollo-cache "1.2.0" apollo-link "^1.0.0" apollo-link-dedup "^1.0.0" - apollo-utilities "1.0.21" + apollo-utilities "1.2.0" symbol-observable "^1.0.2" + ts-invariant "^0.2.1" + tslib "^1.9.3" zen-observable "^0.8.0" - optionalDependencies: - "@types/async" "2.0.49" apollo-codegen-core@0.32.5: version "0.32.5" @@ -1608,12 +1601,13 @@ apollo-datasource@0.2.2, apollo-datasource@^0.2.0: apollo-server-caching "0.2.2" apollo-server-env "2.2.0" -apollo-datasource@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-0.1.3.tgz#e7ae9d20f29a8a35f239b02f0c47169cfd78d70b" +apollo-datasource@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-0.3.1.tgz#4b7ec4c2dd7d08eb7edc865b95fd46b83a4679fd" + integrity sha512-qdEUeonc9pPZvYwXK36h2NZoT7Pddmy0HYOzdV0ON5pcG1YtNmUyyYi83Q60V5wTWjuaCjyJ9hOY6wr0BMvQuA== dependencies: - apollo-server-caching "0.1.2" - apollo-server-env "2.0.3" + apollo-server-caching "0.3.1" + apollo-server-env "2.2.0" apollo-engine-reporting-protobuf@0.2.0: version "0.2.0" @@ -1622,9 +1616,10 @@ apollo-engine-reporting-protobuf@0.2.0: dependencies: protobufjs "^6.8.6" -apollo-engine-reporting-protobuf@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.0.1.tgz#cd394f0f769c6f97d8621c4a7839095c84efcdb0" +apollo-engine-reporting-protobuf@0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.2.1.tgz#8547efcb4078a501ddf606cbfe01a2e8c3ba1afd" + integrity sha512-5pYR84uWeylRS2OJowtkTczT3bWTwOErWtfnkRKccUi/wZ/AZJBP+D5HKNzM7xoFcz9XvrJyS+wBTz1oBi0Jiw== dependencies: protobufjs "^6.8.6" @@ -1640,15 +1635,17 @@ apollo-engine-reporting@0.2.2: graphql-extensions "0.4.3" lodash "^4.17.10" -apollo-engine-reporting@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/apollo-engine-reporting/-/apollo-engine-reporting-0.0.6.tgz#c1a74dffce782525f8a3230e4e5228fbd05bbd59" +apollo-engine-reporting@1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/apollo-engine-reporting/-/apollo-engine-reporting-1.0.7.tgz#d326b51b12b1f71a40885b8189dbcd162171c953" + integrity sha512-mFsXvd+1/o5jSa9tI2RoXYGcvCLcwwcfLwchjSTxqUd4ViB8RbqYKynzEZ+Omji7PBRM0azioBm43f7PSsQPqA== dependencies: - apollo-engine-reporting-protobuf "^0.0.1" - apollo-server-env "^2.0.3" + apollo-engine-reporting-protobuf "0.2.1" + apollo-graphql "^0.1.0" + apollo-server-core "2.4.8" + apollo-server-env "2.2.0" async-retry "^1.2.1" - graphql-extensions "^0.2.1" - lodash "^4.17.10" + graphql-extensions "0.5.7" apollo-env@0.3.2: version "0.3.2" @@ -1658,6 +1655,21 @@ apollo-env@0.3.2: core-js "3.0.0-beta.3" node-fetch "^2.2.0" +apollo-env@0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/apollo-env/-/apollo-env-0.3.3.tgz#e758ece2fbc4f81abc6f07442680ed9e314ecf6c" + integrity sha512-VsUX14bfQCJpKmTyYNBTeLrdeFabjmpSPVQ2y4IKnwqaxVqZuRca3WFE8ercszO1tLwS6HMM7mFw+IIbtQXo/w== + dependencies: + core-js "3.0.0-beta.13" + node-fetch "^2.2.0" + +apollo-graphql@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/apollo-graphql/-/apollo-graphql-0.1.1.tgz#dc5eac3062abf9f063ac9869f0ef5c54fdc136e5" + integrity sha512-UImgDIeB0n0fryYqtdz0CwJ9uDtXwg/3Q6rXzRAqgqBYz46VkmWa7nu2LX9GmDtiXB5VUOVCtyMEnvFwC3o27g== + dependencies: + lodash.sortby "^4.7.0" + apollo-language-server@1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/apollo-language-server/-/apollo-language-server-1.4.3.tgz#c717729662220704dd1efcbcdce3d4254c8534d4" @@ -1710,12 +1722,35 @@ apollo-link-error@^1.1.1: dependencies: apollo-link "^1.2.3" +apollo-link-error@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/apollo-link-error/-/apollo-link-error-1.1.7.tgz#6233a339d732def831af2dd417065b2ffd9feb5c" + integrity sha512-olPTKr3yFoavFHSXSLqC5QSWrRACN8TK3+E0pVL8uVR0zILJflUSCRb8HizKQmxZWtr9yM+D2gRLu9mStI8qTA== + dependencies: + apollo-link "^1.2.8" + apollo-link-http-common "^0.2.10" + +apollo-link-http-common@^0.2.10: + version "0.2.10" + resolved "https://registry.yarnpkg.com/apollo-link-http-common/-/apollo-link-http-common-0.2.10.tgz#b5bbf502ff40a81cc00281ba3b8543b7ad866dfe" + integrity sha512-KY9nhpAurw3z48OIYV0sCZFXrzWp/wjECsveK+Q9GUhhSe1kEbbUjFfmi+qigg+iELgdp5V8ioRJhinl1vPojw== + dependencies: + apollo-link "^1.2.8" + apollo-link-http-common@^0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/apollo-link-http-common/-/apollo-link-http-common-0.2.5.tgz#d094beb7971523203359bf830bfbfa7b4e7c30ed" dependencies: apollo-link "^1.2.3" +apollo-link-http@^1.5.11: + version "1.5.11" + resolved "https://registry.yarnpkg.com/apollo-link-http/-/apollo-link-http-1.5.11.tgz#1f72a377d03e874a08bc9eadb1ce7ecb166f1e56" + integrity sha512-wDG+I9UmpfaZRPIvTYBgkvqiCgmz6yWgvuzW/S24Q4r4Xrfe6sLpg2FmarhtdP+hdN+IXTLbFNCZ+Trgfpifow== + dependencies: + apollo-link "^1.2.8" + apollo-link-http-common "^0.2.10" + apollo-link-http@^1.5.5: version "1.5.5" resolved "https://registry.yarnpkg.com/apollo-link-http/-/apollo-link-http-1.5.5.tgz#7dbe851821771ad67fa29e3900c57f38cbd80da8" @@ -1726,12 +1761,14 @@ apollo-link-http@^1.5.5: apollo-link-logger@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/apollo-link-logger/-/apollo-link-logger-1.2.3.tgz#1f3e6f7849ce7a7e3aa822141fe062cfa278b1e1" + integrity sha512-GaVwdHyXmawfvBlHfZkFkBHH3+YH7wibzSCc4/YpIbPVtbtZqi0Qop18w++jgpw385W083DMOdYe2eJsKkZdag== -apollo-link-schema@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/apollo-link-schema/-/apollo-link-schema-1.1.1.tgz#b36b513d1a008184ae8cfc2aad4fce445df5f149" +apollo-link-schema@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/apollo-link-schema/-/apollo-link-schema-1.1.6.tgz#9b47cdc9d5e5ba11fa7458d41eaffdd26612b3f9" + integrity sha512-0ZBkkNmivqFMlP/2JXLfCLJooXnU6mapgWr/9GV5ra0KJKBtKY4kDiSPQTqw2oq5zONjMYLsXflK5uFPAHnz9Q== dependencies: - apollo-link "^1.2.3" + apollo-link "^1.2.8" apollo-link-state@^0.4.2: version "0.4.2" @@ -1769,12 +1806,6 @@ apollo-link@^1.2.8: dependencies: zen-observable-ts "^0.8.15" -apollo-server-caching@0.1.2, apollo-server-caching@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/apollo-server-caching/-/apollo-server-caching-0.1.2.tgz#f5b85701945110a5fca1956450e8553576635936" - dependencies: - lru-cache "^4.1.3" - apollo-server-caching@0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/apollo-server-caching/-/apollo-server-caching-0.2.2.tgz#38f71847aacc7d984c4423ec86318ac5d9887ee1" @@ -1782,6 +1813,13 @@ apollo-server-caching@0.2.2: dependencies: lru-cache "^5.0.0" +apollo-server-caching@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/apollo-server-caching/-/apollo-server-caching-0.3.1.tgz#63fcb2aaa176e1e101b36a8450e6b4c593d2767a" + integrity sha512-mfxzikYXbB/OoEms77AGYwRh7FF3Oim5v5XWAL+VL49FrkbZt5lopVa4bABi7Mz8Nt3Htl9EBJN8765s/yh8IA== + dependencies: + lru-cache "^5.0.0" + apollo-server-core@2.3.4: version "2.3.4" resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.3.4.tgz#556829fa788c09b7a9a3bded5f0b99d5eebd7393" @@ -1808,34 +1846,31 @@ apollo-server-core@2.3.4: subscriptions-transport-ws "^0.9.11" ws "^6.0.0" -apollo-server-core@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.1.0.tgz#b56f9f1ddb948b257e738eb25c5fdfd2f2fb2e07" - dependencies: - "@apollographql/apollo-upload-server" "^5.0.3" - "@types/ws" "^5.1.2" - apollo-cache-control "^0.2.5" - apollo-datasource "^0.1.3" - apollo-engine-reporting "^0.0.6" - apollo-server-caching "^0.1.2" - apollo-server-env "^2.0.3" - apollo-server-errors "^2.0.2" - apollo-tracing "^0.2.5" - graphql-extensions "^0.2.1" - graphql-subscriptions "^0.5.8" +apollo-server-core@2.4.8: + version "2.4.8" + resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.4.8.tgz#47e503a345e314222725597c889773e018d8c67a" + integrity sha512-N+5UOzHhMOnHizEiArJtNvEe/cGhSHQyTn5tlU4RJ36FDBJ/WlYZfPbGDMLISSUCJ6t+aP8GLL4Mnudt9d2PDQ== + dependencies: + "@apollographql/apollo-tools" "^0.3.3" + "@apollographql/graphql-playground-html" "^1.6.6" + "@types/ws" "^6.0.0" + apollo-cache-control "0.5.2" + apollo-datasource "0.3.1" + apollo-engine-reporting "1.0.7" + apollo-server-caching "0.3.1" + apollo-server-env "2.2.0" + apollo-server-errors "2.2.1" + apollo-server-plugin-base "0.3.7" + apollo-tracing "0.5.2" + fast-json-stable-stringify "^2.0.0" + graphql-extensions "0.5.7" + graphql-subscriptions "^1.0.0" graphql-tag "^2.9.2" - graphql-tools "^3.0.4" - hash.js "^1.1.3" - lodash "^4.17.10" + graphql-tools "^4.0.0" + graphql-upload "^8.0.2" + sha.js "^2.4.11" subscriptions-transport-ws "^0.9.11" - ws "^5.2.0" - -apollo-server-env@2.0.3, apollo-server-env@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/apollo-server-env/-/apollo-server-env-2.0.3.tgz#3c13552cd33f400160076cf8e1c9b24be4d27e13" - dependencies: - node-fetch "^2.1.2" - util.promisify "^1.0.0" + ws "^6.0.0" apollo-server-env@2.2.0: version "2.2.0" @@ -1850,26 +1885,31 @@ apollo-server-errors@2.2.0: resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-2.2.0.tgz#5b452a1d6ff76440eb0f127511dc58031a8f3cb5" integrity sha512-gV9EZG2tovFtT1cLuCTavnJu2DaKxnXPRNGSTo+SDI6IAk6cdzyW0Gje5N2+3LybI0Wq5KAbW6VLei31S4MWmg== +apollo-server-errors@2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-2.2.1.tgz#f68a3f845929768057da7e1c6d30517db5872205" + integrity sha512-wY/YE3iJVMYC+WYIf8QODBjIP4jhI+oc7kiYo9mrz7LdYPKAgxr/he+NteGcqn/0Ea9K5/ZFTGJDbEstSMeP8g== + apollo-server-errors@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-2.0.2.tgz#e9cbb1b74d2cd78aed23cd886ca2d0c186323b2b" -apollo-server-express@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-2.1.0.tgz#b2d423c2c934df5c4e0a1b0d5f0088a9461f3c86" +apollo-server-express@2.4.8, apollo-server-express@^2.4.8: + version "2.4.8" + resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-2.4.8.tgz#ec9eb61a87324555d49097e9fade3c7d142eb6cb" + integrity sha512-i60l32mfVe33jnKDPNYgUKUKu4Al0xEm2HLOSMgtJ9Wbpe/MbOx5X8M5F27fnHYdM+G5XfAErsakAyRGnQJ48Q== dependencies: - "@apollographql/apollo-upload-server" "^5.0.3" - "@apollographql/graphql-playground-html" "^1.6.0" + "@apollographql/graphql-playground-html" "^1.6.6" "@types/accepts" "^1.3.5" "@types/body-parser" "1.17.0" "@types/cors" "^2.8.4" - "@types/express" "4.16.0" + "@types/express" "4.16.1" accepts "^1.3.5" - apollo-server-core "^2.1.0" + apollo-server-core "2.4.8" body-parser "^1.18.3" cors "^2.8.4" - graphql-subscriptions "^0.5.8" - graphql-tools "^3.0.4" + graphql-subscriptions "^1.0.0" + graphql-tools "^4.0.0" type-is "^1.6.16" apollo-server-plugin-base@0.2.3: @@ -1877,15 +1917,21 @@ apollo-server-plugin-base@0.2.3: resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-0.2.3.tgz#fe2df5acefbb0eead032cf559e4f65bb06b36bad" integrity sha512-NCJUAtr2lnV27pwqQEF2NTyT0yuaJ6qJbBSovtViEf38eXvxTPEXRE2Fg4uELrAVcxKfzQKaCzCScm5iFCcf6A== -apollo-server@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/apollo-server/-/apollo-server-2.1.0.tgz#abec7853647c59f386087352cc7f06a4f1f8afe2" +apollo-server-plugin-base@0.3.7: + version "0.3.7" + resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-0.3.7.tgz#bfa4932fc9481bb36221545578d311db464af5a6" + integrity sha512-hW1jaLKf9qNOxMTwRq2CSqz3eqXsZuEiCc8/mmEtOciiVBq1GMtxFf19oIYM9HQuPvQU2RWpns1VrYN59L3vbg== + +apollo-server@^2.4.8: + version "2.4.8" + resolved "https://registry.yarnpkg.com/apollo-server/-/apollo-server-2.4.8.tgz#b18ec24e6356dd2a191a6fa0f1429b07ef7c89e3" + integrity sha512-IU6RekO2dqrDdC+5hU6aeVvGg/2t/f01inBMjDhAn1a7hoITUXEh8Sa57TgmYEZ5uAtDuWW7cdiZN2j0cMI3/w== dependencies: - apollo-server-core "^2.1.0" - apollo-server-express "^2.1.0" + apollo-server-core "2.4.8" + apollo-server-express "2.4.8" express "^4.0.0" - graphql-subscriptions "^0.5.8" - graphql-tools "^3.0.4" + graphql-subscriptions "^1.0.0" + graphql-tools "^4.0.0" apollo-tracing@0.4.1: version "0.4.1" @@ -1895,19 +1941,22 @@ apollo-tracing@0.4.1: apollo-server-env "2.2.0" graphql-extensions "0.4.2" -apollo-tracing@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.2.5.tgz#15bb8d6f37efe8c1bb6351e8e21521dd4f14c5f2" +apollo-tracing@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.5.2.tgz#cc49936fb435fa98d19c841514cfe05237c85b33" + integrity sha512-2FdwRvPIq9uuF6OzONroXep6VBGqzHOkP6LlcFQe7SdwxfRP+SD/ycHNSC1acVg2b8d+am9Kzqg2vV54UpOIKA== dependencies: - apollo-server-env "^2.0.3" - graphql-extensions "^0.2.1" + apollo-server-env "2.2.0" + graphql-extensions "0.5.4" -apollo-utilities@1.0.21, apollo-utilities@^1.0.21: - version "1.0.21" - resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.0.21.tgz#cb8b5779fe275850b16046ff8373f4af2de90765" +apollo-utilities@1.2.0, apollo-utilities@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.2.0.tgz#ba5a1271c55e0d79069b1919c9d533164a70f9c3" + integrity sha512-4+vxCpEuirQjPqLCckBnOMGZxK/c+2eJtYEbh3xhccNM1pYB5Gx/lrfCdZS5MKDykuWZYY08EvidDy21nr049w== dependencies: fast-json-stable-stringify "^2.0.0" - fclone "^1.0.11" + ts-invariant "^0.2.1" + tslib "^1.9.3" apollo-utilities@^1.0.0, apollo-utilities@^1.0.1, apollo-utilities@^1.0.20, apollo-utilities@^1.0.8: version "1.0.20" @@ -3238,13 +3287,6 @@ builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" -busboy@^0.2.14: - version "0.2.14" - resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.2.14.tgz#6c2a622efcf47c57bbbe1e2a9c37ad36c7925453" - dependencies: - dicer "0.2.5" - readable-stream "1.1.x" - busboy@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.3.0.tgz#6ee3cb1c844fc1f691d8f9d824f70128b3b5e485" @@ -3950,6 +3992,11 @@ copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" +core-js@3.0.0-beta.13: + version "3.0.0-beta.13" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.0.0-beta.13.tgz#7732c69be5e4758887917235fe7c0352c4cb42a1" + integrity sha512-16Q43c/3LT9NyePUJKL8nRIQgYWjcBhjJSMWg96PVSxoS0PeE0NHitPI3opBrs9MGGHjte1KoEVr9W63YKlTXQ== + core-js@3.0.0-beta.3: version "3.0.0-beta.3" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.0.0-beta.3.tgz#b0f22009972b8c6c04550ebf38513ca4b3cc9559" @@ -4352,13 +4399,6 @@ dev-ip@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" -dicer@0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.2.5.tgz#5996c086bb33218c812c090bddc09cd12facb70f" - dependencies: - readable-stream "1.1.x" - streamsearch "0.1.2" - dicer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.3.0.tgz#eacd98b3bfbf92e8ab5c2fdb71aaac44bb06b872" @@ -5288,10 +5328,6 @@ fbjs@^0.8.16: setimmediate "^1.0.5" ua-parser-js "^0.7.18" -fclone@^1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/fclone/-/fclone-1.0.11.tgz#10e85da38bfea7fc599341c296ee1d77266ee640" - figures@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" @@ -5922,12 +5958,6 @@ graphql-anywhere@^4.1.0-alpha.0: dependencies: apollo-utilities "^1.0.20" -graphql-anywhere@^4.1.19: - version "4.1.19" - resolved "https://registry.yarnpkg.com/graphql-anywhere/-/graphql-anywhere-4.1.19.tgz#5f6ca3b58218e5449f4798e3c6d942fcd2fef082" - dependencies: - apollo-utilities "^1.0.21" - graphql-extensions@0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.4.2.tgz#186a567ac06f4010e366bc9da77605be1e8b6f17" @@ -5942,17 +5972,19 @@ graphql-extensions@0.4.3: dependencies: "@apollographql/apollo-tools" "^0.3.0" -graphql-extensions@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.2.1.tgz#7697e0fcea2e622afe9e24dd31fc84f533e84c70" +graphql-extensions@0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.5.4.tgz#18a9674f9adb11aa6c0737485887ea8877914cff" + integrity sha512-qLThJGVMqcItE7GDf/xX/E40m/aeqFheEKiR5bfra4q5eHxQKGjnIc20P9CVqjOn9I0FkEiU9ypOobfmIf7t6g== dependencies: - apollo-server-env "^2.0.3" + "@apollographql/apollo-tools" "^0.3.3" -graphql-subscriptions@^0.5.8: - version "0.5.8" - resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-0.5.8.tgz#13a6143c546bce390404657dc73ca501def30aa7" +graphql-extensions@0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.5.7.tgz#2b647e4e36997dc85b7f58ebd64324a5250fb2cf" + integrity sha512-HrU6APE1PiehZ46scMB3S5DezSeCATd8v+e4mmg2bqszMyCFkmAnmK6hR1b5VjHxhzt5/FX21x1WsXfqF4FwdQ== dependencies: - iterall "^1.2.1" + "@apollographql/apollo-tools" "^0.3.3" graphql-subscriptions@^1.0.0: version "1.0.0" @@ -5970,16 +6002,6 @@ graphql-tag@^2.9.2: version "2.9.2" resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.9.2.tgz#2f60a5a981375f430bf1e6e95992427dc18af686" -graphql-tools@^3.0.4: - version "3.1.1" - resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-3.1.1.tgz#d593358f01e7c8b1671a17b70ddb034dea9dbc50" - dependencies: - apollo-link "^1.2.2" - apollo-utilities "^1.0.1" - deprecated-decorator "^0.1.6" - iterall "^1.1.3" - uuid "^3.1.0" - graphql-tools@^4.0.0: version "4.0.4" resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-4.0.4.tgz#ca08a63454221fdde825fe45fbd315eb2a6d566b" @@ -6156,13 +6178,6 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.0" -hash.js@^1.1.3: - version "1.1.5" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.5.tgz#e38ab4b85dfb1e0c40fe9265c0e9b54854c23812" - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - header-case@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/header-case/-/header-case-1.0.1.tgz#9535973197c144b09613cd65d317ef19963bd02d" @@ -6218,10 +6233,17 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoist-non-react-statics@^2.2.2, hoist-non-react-statics@^2.5.0: +hoist-non-react-statics@^2.2.2: version "2.5.5" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" +hoist-non-react-statics@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz#b09178f0122184fb95acf525daaecb4d8f45958b" + integrity sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA== + dependencies: + react-is "^16.7.0" + home-or-tmp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" @@ -6439,6 +6461,11 @@ ignore@^4.0.0, ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" +immutable-tuple@^0.4.9: + version "0.4.10" + resolved "https://registry.yarnpkg.com/immutable-tuple/-/immutable-tuple-0.4.10.tgz#e0b1625384f514084a7a84b749a3bb26e9179929" + integrity sha512-45jheDbc3Kr5Cw8EtDD+4woGRUV0utIrJBZT8XH0TPZRfm8tzT0/sLGGzyyCCFqFMG5Pv5Igf3WY/arn6+8V9Q== + immutable@3.8.2, immutable@^3.7.6: version "3.8.2" resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3" @@ -7989,7 +8016,7 @@ lowercase-keys@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" -lru-cache@^4.0.0, lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.3: +lru-cache@^4.0.0, lru-cache@^4.0.1, lru-cache@^4.1.1: version "4.1.3" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" dependencies: @@ -8252,7 +8279,7 @@ mimic-response@^1.0.0: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: +minimalistic-assert@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -8870,6 +8897,13 @@ opn@^4.0.0: object-assign "^4.0.1" pinkie-promise "^2.0.0" +optimism@^0.6.9: + version "0.6.9" + resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.6.9.tgz#19258ff8b3be0cea29ac35f06bff818e026e30bb" + integrity sha512-xoQm2lvXbCA9Kd7SCx6y713Y7sZ6fUc5R6VYpoL5M6svKJbTuvtNopexK8sO8K4s0EOUYHuPN2+yAEsNyRggkQ== + dependencies: + immutable-tuple "^0.4.9" + optimist@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" @@ -9934,15 +9968,17 @@ rc@^1.0.1, rc@^1.1.6, rc@^1.1.7, rc@^1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-apollo@^2.1.11: - version "2.1.11" - resolved "https://registry.yarnpkg.com/react-apollo/-/react-apollo-2.1.11.tgz#ef4805f07af1d732ec94caebf7ba0728e2d162ca" +react-apollo@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/react-apollo/-/react-apollo-2.5.0.tgz#e66e3763f15173026b63bcc4cb11a0e61f38e908" + integrity sha512-AlLPEY7zCRaEiaolBU3HnpfZXmiPUZEPBY8tuK8El7xHgBPAlmURpirFF00BjvZmcU4TP54ghYYrKreuCGCfyw== dependencies: - fbjs "^0.8.16" - hoist-non-react-statics "^2.5.0" - invariant "^2.2.2" - lodash "^4.17.10" + apollo-utilities "^1.2.0" + hoist-non-react-statics "^3.0.0" + lodash.isequal "^4.5.0" prop-types "^15.6.0" + ts-invariant "^0.2.1" + tslib "^1.9.3" react-deep-force-update@^2.1.3: version "2.1.3" @@ -9988,6 +10024,11 @@ react-is@^16.5.2: version "16.5.2" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.5.2.tgz#e2a7b7c3f5d48062eb769fcb123505eb928722e3" +react-is@^16.7.0: + version "16.8.3" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.3.tgz#4ad8b029c2a718fc0cfc746c8d4e1b7221e5387d" + integrity sha512-Y4rC1ZJmsxxkkPuMLwvKvlL1Zfpbcu+Bf4ZigkHup3v9EfdYhAlWAaVyA19olXq2o2mGn0w+dFKvk3pVVlYcIA== + react-test-renderer@^16.5.2: version "16.5.2" resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.5.2.tgz#92e9d2c6f763b9821b2e0b22f994ee675068b5ae" @@ -10086,15 +10127,6 @@ readable-stream@1.0: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@1.1.x: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - readable-stream@~2.1.5: version "2.1.5" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" @@ -10223,10 +10255,6 @@ regenerator-runtime@^0.11.0, regenerator-runtime@^0.11.1: version "0.11.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" -regenerator-runtime@^0.12.0: - version "0.12.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de" - regenerator-transform@^0.10.0: version "0.10.1" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" @@ -10854,7 +10882,7 @@ setprototypeof@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" -sha.js@^2.4.0, sha.js@^2.4.8: +sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8: version "2.4.11" resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" dependencies: @@ -11760,6 +11788,13 @@ tryer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.0.tgz#027b69fa823225e551cace3ef03b11f6ab37c1d7" +ts-invariant@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.2.1.tgz#3d587f9d6e3bded97bf9ec17951dd9814d5a9d3f" + integrity sha512-Z/JSxzVmhTo50I+LKagEISFJW3pvPCqsMWLamCTX8Kr3N5aMrnGOqcflbe5hLUzwjvgPfnLzQtHZv0yWQ+FIHg== + dependencies: + tslib "^1.9.3" + ts-node@^7: version "7.0.1" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-7.0.1.tgz#9562dc2d1e6d248d24bc55f773e3f614337d9baf" From 78c8bdf858d34175eedfc8c2d84de014f126f9b2 Mon Sep 17 00:00:00 2001 From: piglovesyou Date: Thu, 28 Feb 2019 00:20:21 +0900 Subject: [PATCH 2/3] Use new local state management of Apollo Client 2.5 * Client Schema * Simplify cache and cache defaults * User in local state instead of context --- .../createApolloClient.client.js | 21 +++++++++---------- .../createApolloClient.server.js | 21 ++++++++++++------- src/core/createInitialState.js | 10 --------- src/data/graphql/OnMemoryState/schema.js | 16 ++++++++------ src/data/graphql/OnMemoryState/user.js | 13 ++++++++++++ src/server.js | 16 ++++++-------- 6 files changed, 53 insertions(+), 44 deletions(-) delete mode 100644 src/core/createInitialState.js create mode 100644 src/data/graphql/OnMemoryState/user.js diff --git a/src/core/createApolloClient/createApolloClient.client.js b/src/core/createApolloClient/createApolloClient.client.js index 64641badc5..2bd4beca37 100644 --- a/src/core/createApolloClient/createApolloClient.client.js +++ b/src/core/createApolloClient/createApolloClient.client.js @@ -3,21 +3,18 @@ import { from } from 'apollo-link'; import { onError } from 'apollo-link-error'; import { HttpLink } from 'apollo-link-http'; import apolloLogger from 'apollo-link-logger'; -import { withClientState } from 'apollo-link-state'; +import gql from 'graphql-tag'; import createCache from './createCache'; -import { resolvers as clientSideResolvers } from '../../data/graphql/OnMemoryState/schema'; +import { + resolvers as clientResolvers, + schema as clientSchema, +} from '../../data/graphql/OnMemoryState/schema'; export default function createApolloClient() { - const cache = createCache(); - - const stateLink = withClientState({ - cache, - defaults: window.App.initialState, - resolvers: clientSideResolvers, - }); + // Restore cache defaults to make the same one in server.js + const cache = createCache().restore(window.App.cache); const link = from([ - stateLink, onError(({ graphQLErrors, networkError }) => { if (graphQLErrors) graphQLErrors.map(({ message, locations, path }) => @@ -36,7 +33,9 @@ export default function createApolloClient() { return new ApolloClient({ link, - cache: cache.restore(window.App.cache), + cache, + typeDefs: gql(clientSchema), + resolvers: clientResolvers, queryDeduplication: true, connectToDevTools: true, }); diff --git a/src/core/createApolloClient/createApolloClient.server.js b/src/core/createApolloClient/createApolloClient.server.js index 0996e3fe5b..6d3fab940b 100644 --- a/src/core/createApolloClient/createApolloClient.server.js +++ b/src/core/createApolloClient/createApolloClient.server.js @@ -1,19 +1,24 @@ import { ApolloClient } from 'apollo-client'; import { from } from 'apollo-link'; -import { withClientState } from 'apollo-link-state'; import { onError } from 'apollo-link-error'; import { SchemaLink } from 'apollo-link-schema'; +import merge from 'lodash.merge'; +import gql from 'graphql-tag'; import createCache from './createCache'; +import { + resolvers as clientResolvers, + schema as clientSchema, + defaults as cacheDefaults, +} from '../../data/graphql/OnMemoryState/schema'; -export default function createApolloClient(schema, initialState) { +export default function createApolloClient(schema, partialCacheDefaults) { const cache = createCache(); - const stateLink = withClientState({ - cache, - defaults: initialState, - resolvers: {}, + + cache.writeData({ + data: merge(cacheDefaults, partialCacheDefaults), }); + const link = from([ - stateLink, onError(({ graphQLErrors, networkError }) => { if (graphQLErrors) graphQLErrors.map(({ message, locations, path }) => @@ -29,6 +34,8 @@ export default function createApolloClient(schema, initialState) { return new ApolloClient({ link, cache, + typeDefs: gql(clientSchema), + resolvers: clientResolvers, ssrMode: true, queryDeduplication: true, }); diff --git a/src/core/createInitialState.js b/src/core/createInitialState.js deleted file mode 100644 index 0c2b2e77d9..0000000000 --- a/src/core/createInitialState.js +++ /dev/null @@ -1,10 +0,0 @@ -// @flow - -import { defaults } from '../data/graphql/OnMemoryState/schema'; - -export default function createInitialState(data: Object) { - return { - ...defaults, - ...data, - }; -} diff --git a/src/data/graphql/OnMemoryState/schema.js b/src/data/graphql/OnMemoryState/schema.js index c121ab69bc..d3b0b228db 100644 --- a/src/data/graphql/OnMemoryState/schema.js +++ b/src/data/graphql/OnMemoryState/schema.js @@ -8,12 +8,16 @@ import { mutations as networkStatusMutation, } from './networkStatus'; -// Below are used for apollo-link-state and not used in GraphQL server. +import { schema as userSchema, queries as userQueries } from './user'; + +// Used by both GraphQL Server and Apollo Client +export const schema = [...userSchema, ...networkStatusSchema]; + +// Below are only used by Apollo Client export const defaults = merge(networkStatusDefaults); export const resolvers = merge(networkStatusResolvers); -// Below are used for GraphQL introspection that generates Flow types by apollo:codegen. -// These are not used in runtime. -export const schema = merge(networkStatusSchema); -export const queries = merge(networkStatusQuery); -export const mutations = merge(networkStatusMutation); +// Below are used by GraphQL Server for Introspection +// that generates Flow types by apollo:codegen. +export const queries = [...networkStatusQuery, ...userQueries]; +export const mutations = [...networkStatusMutation]; diff --git a/src/data/graphql/OnMemoryState/user.js b/src/data/graphql/OnMemoryState/user.js new file mode 100644 index 0000000000..b7ecc2a46d --- /dev/null +++ b/src/data/graphql/OnMemoryState/user.js @@ -0,0 +1,13 @@ +export const schema = [ + ` + type User { + id: String! + } +`, +]; + +export const queries = [ + ` + user: User +`, +]; diff --git a/src/server.js b/src/server.js index 7742ddcb1a..1a12481a7c 100644 --- a/src/server.js +++ b/src/server.js @@ -30,7 +30,6 @@ import schema from './data/schema'; // import assets from './asset-manifest.json'; // eslint-disable-line import/no-unresolved import chunks from './chunk-manifest.json'; // eslint-disable-line import/no-unresolved import config from './config'; -import createInitialState from './core/createInitialState'; process.on('unhandledRejection', (reason, p) => { console.error('Unhandled Rejection at:', p, 'reason:', reason); @@ -134,17 +133,15 @@ app.get('*', async (req, res, next) => { styles.forEach(style => css.add(style._getCss())); }; - const initialState = createInitialState({ - user: req.user || null, - }); - const apolloClient = createApolloClient( { schema: makeExecutableSchema(schema), // This is a context consumed in GraphQL Resolvers context: { req }, }, - initialState, + { + user: req.user || null, + }, ); // Global (context) variables that can be easily accessed from any React component @@ -186,10 +183,9 @@ app.get('*', async (req, res, next) => { data.scripts = Array.from(scripts); data.app = { apiUrl: config.api.clientUrl, - // Cache for client-side apolloClient - cache: context.client.extract(), - // Initial state for client-side stateLink - initialState, + + // To restore apollo cache in client.js + cache: apolloClient.extract(), }; const html = ReactDOM.renderToStaticMarkup(); From c0e4b142e308b744665d9fdaff4d3b252c2ff294 Mon Sep 17 00:00:00 2001 From: piglovesyou Date: Thu, 28 Feb 2019 09:05:44 +0900 Subject: [PATCH 3/3] bye apollo-link-state --- package.json | 1 - yarn.lock | 15 +-------------- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/package.json b/package.json index dd16c69143..1b81127a51 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,6 @@ "apollo-link-http": "^1.5.11", "apollo-link-logger": "^1.2.3", "apollo-link-schema": "^1.1.6", - "apollo-link-state": "^0.4.2", "apollo-server": "^2.4.8", "apollo-server-express": "^2.4.8", "body-parser": "^1.18.3", diff --git a/yarn.lock b/yarn.lock index 78680e000e..e532bf6815 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1770,13 +1770,6 @@ apollo-link-schema@^1.1.6: dependencies: apollo-link "^1.2.8" -apollo-link-state@^0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/apollo-link-state/-/apollo-link-state-0.4.2.tgz#ac00e9be9b0ca89eae0be6ba31fe904b80bbe2e8" - dependencies: - apollo-utilities "^1.0.8" - graphql-anywhere "^4.1.0-alpha.0" - apollo-link-ws@^1.0.9: version "1.0.14" resolved "https://registry.yarnpkg.com/apollo-link-ws/-/apollo-link-ws-1.0.14.tgz#588f898b7f953930a27e283941614d89907adf13" @@ -1958,7 +1951,7 @@ apollo-utilities@1.2.0, apollo-utilities@^1.2.0: ts-invariant "^0.2.1" tslib "^1.9.3" -apollo-utilities@^1.0.0, apollo-utilities@^1.0.1, apollo-utilities@^1.0.20, apollo-utilities@^1.0.8: +apollo-utilities@^1.0.0, apollo-utilities@^1.0.1: version "1.0.20" resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.0.20.tgz#b14318686cb67838279fb5f009cca0ec97a4d140" dependencies: @@ -5952,12 +5945,6 @@ graceful-fs@4.1.11, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" -graphql-anywhere@^4.1.0-alpha.0: - version "4.1.18" - resolved "https://registry.yarnpkg.com/graphql-anywhere/-/graphql-anywhere-4.1.18.tgz#29bfc5d42bf8ee1f5cdc9a9857c98c3eb4b7fab4" - dependencies: - apollo-utilities "^1.0.20" - graphql-extensions@0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.4.2.tgz#186a567ac06f4010e366bc9da77605be1e8b6f17"