From 275c1931b7e8027e848d2edeef43a8c78c7190ed Mon Sep 17 00:00:00 2001 From: wtgtybhertgeghgtwtg Date: Tue, 4 Dec 2018 21:02:07 -0700 Subject: [PATCH 1/3] refactor: switch `json-stable-stringify` to `fast-json-stable-stringify` --- package-lock.json | 15 +-------------- packages/apollo-server-core/package.json | 2 +- .../apollo-server-core/src/utils/schemaHash.ts | 2 +- types/fast-json-stable-stringify/index.d.ts | 1 + 4 files changed, 4 insertions(+), 16 deletions(-) create mode 100644 types/fast-json-stable-stringify/index.d.ts diff --git a/package-lock.json b/package-lock.json index db03c49bbf9..1bc8e894fbe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2188,11 +2188,11 @@ "apollo-server-errors": "file:packages/apollo-server-errors", "apollo-server-plugin-base": "file:packages/apollo-server-plugin-base", "apollo-tracing": "file:packages/apollo-tracing", + "fast-json-stable-stringify": "^2.0.0", "graphql-extensions": "file:packages/graphql-extensions", "graphql-subscriptions": "^1.0.0", "graphql-tag": "^2.9.2", "graphql-tools": "^4.0.0", - "json-stable-stringify": "^1.0.1", "lodash": "^4.17.10", "subscriptions-transport-ws": "^0.9.11", "ws": "^6.0.0" @@ -8183,14 +8183,6 @@ "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", "dev": true }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "requires": { - "jsonify": "~0.0.0" - } - }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -8212,11 +8204,6 @@ "graceful-fs": "^4.1.6" } }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" - }, "jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", diff --git a/packages/apollo-server-core/package.json b/packages/apollo-server-core/package.json index 14a4dcc840e..4ce85cfe5fb 100644 --- a/packages/apollo-server-core/package.json +++ b/packages/apollo-server-core/package.json @@ -36,11 +36,11 @@ "apollo-server-errors": "file:../apollo-server-errors", "apollo-server-plugin-base": "file:../apollo-server-plugin-base", "apollo-tracing": "file:../apollo-tracing", + "fast-json-stable-stringify": "^2.0.0", "graphql-extensions": "file:../graphql-extensions", "graphql-subscriptions": "^1.0.0", "graphql-tag": "^2.9.2", "graphql-tools": "^4.0.0", - "json-stable-stringify": "^1.0.1", "lodash": "^4.17.10", "subscriptions-transport-ws": "^0.9.11", "ws": "^6.0.0" diff --git a/packages/apollo-server-core/src/utils/schemaHash.ts b/packages/apollo-server-core/src/utils/schemaHash.ts index d790a3146f7..a1b01b3628f 100644 --- a/packages/apollo-server-core/src/utils/schemaHash.ts +++ b/packages/apollo-server-core/src/utils/schemaHash.ts @@ -1,7 +1,7 @@ import { parse } from 'graphql/language'; import { execute, ExecutionResult } from 'graphql/execution'; import { getIntrospectionQuery, IntrospectionSchema } from 'graphql/utilities'; -import stableStringify from 'json-stable-stringify'; +import stableStringify from 'fast-json-stable-stringify'; import { GraphQLSchema } from 'graphql/type'; import { createHash } from 'crypto'; diff --git a/types/fast-json-stable-stringify/index.d.ts b/types/fast-json-stable-stringify/index.d.ts new file mode 100644 index 00000000000..c94014460d9 --- /dev/null +++ b/types/fast-json-stable-stringify/index.d.ts @@ -0,0 +1 @@ +export default function stringify(obj: any): string; From ef4f48eb3d911e3e1daa552bc10c3ca6aeeb2a02 Mon Sep 17 00:00:00 2001 From: wtgtybhertgeghgtwtg Date: Tue, 4 Dec 2018 21:07:03 -0700 Subject: [PATCH 2/3] chore: drop `@types/json-stable-stringify` --- package-lock.json | 6 ------ package.json | 1 - 2 files changed, 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1bc8e894fbe..5c9ff407d35 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1339,12 +1339,6 @@ "integrity": "sha512-q3r+5QfNrthJL+5Pvb9MOP7rJniTfAV+cGbsO2a3ItGSuwmp2vdjjZ/VCWKwGT5lNx4eOvZI4O3IpSIXh3f4RA==", "dev": true }, - "@types/json-stable-stringify": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.32.tgz", - "integrity": "sha512-q9Q6+eUEGwQkv4Sbst3J4PNgDOvpuVuKj79Hl/qnmBMEIPzB5QoFRUtjcgcg2xNUZyYUGXBk5wYIBKHt0A+Mxw==", - "dev": true - }, "@types/keygrip": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.1.tgz", diff --git a/package.json b/package.json index 2ba6001d616..7f3f0798785 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,6 @@ "@types/graphql": "14.0.3", "@types/hapi": "17.8.0", "@types/jest": "23.3.10", - "@types/json-stable-stringify": "1.0.32", "@types/koa-multer": "1.0.0", "@types/koa-router": "7.0.35", "@types/lodash": "4.14.118", From 376a7934da165d23ff8324a956741bdfb684d53e Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Wed, 19 Dec 2018 20:01:51 +0200 Subject: [PATCH 3/3] Update CHANGELOG.md for #2065. --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f58fce271a9..71b41dec8a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +### vNEXT + +- Switch from `json-stable-stringify` to `fast-json-stable-stringify`. [PR #2065](https://github.com/apollographql/apollo-server/pull/2065) + ### v2.3.1 - Provide types for `graphql-upload` in a location where they can be accessed by TypeScript consumers of `apollo-server` packages. [ccf935f9](https://github.com/apollographql/apollo-server/commit/ccf935f9) [Issue #2092](https://github.com/apollographql/apollo-server/issues/2092)