From 1223563cd2dc8b985ce8f20ef961c2d25560562b Mon Sep 17 00:00:00 2001 From: Saihajpreet Singh Date: Wed, 27 Oct 2021 21:03:36 -0500 Subject: [PATCH 1/9] temp --- packages/graphiql-2-rfc-context/package.json | 4 +- packages/graphiql-toolkit/package.json | 4 +- packages/graphiql/package.json | 2 +- .../graphql-language-service-cli/package.json | 4 +- .../package.json | 4 +- .../src/getAutocompleteSuggestions.ts | 58 ++++++++++--------- .../package.json | 4 +- .../src/Rules.ts | 3 +- .../src/onlineParser.ts | 3 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 2 +- .../graphql-language-service/package.json | 4 +- packages/monaco-graphql/package.json | 4 +- yarn.lock | 5 ++ 15 files changed, 61 insertions(+), 48 deletions(-) diff --git a/packages/graphiql-2-rfc-context/package.json b/packages/graphiql-2-rfc-context/package.json index 1754c694c42..07c577a3ffe 100644 --- a/packages/graphiql-2-rfc-context/package.json +++ b/packages/graphiql-2-rfc-context/package.json @@ -57,7 +57,7 @@ "theme-ui": "^0.3.1" }, "peerDependencies": { - "graphql": ">= v14.5.0 <= 15.5.0", + "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4", "prop-types": ">=15.5.0", "react": "^16.8.0", "react-dom": "^16.8.0" @@ -80,7 +80,7 @@ "express-graphql": "experimental-stream-defer", "file-loader": "6.2.0", "fork-ts-checker-webpack-plugin": "4.1.3", - "graphql": "experimental-stream-defer", + "graphql": "16.0.0-rc.7.experimental-stream-defer.4", "html-webpack-plugin": "^4.2.0", "identity-obj-proxy": "^3.0.0", "jest": "^25.3.0", diff --git a/packages/graphiql-toolkit/package.json b/packages/graphiql-toolkit/package.json index 3f233247b7d..691e835bcd0 100644 --- a/packages/graphiql-toolkit/package.json +++ b/packages/graphiql-toolkit/package.json @@ -25,12 +25,12 @@ "meros": "^1.1.4" }, "devDependencies": { - "graphql": "experimental-stream-defer", + "graphql": "16.0.0-rc.7.experimental-stream-defer.4", "isomorphic-fetch": "^3.0.0", "subscriptions-transport-ws": "^0.9.19" }, "peerDependencies": { - "graphql": ">= v14.5.0 <= 15.6.1" + "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4" }, "keywords": [ "graphql", diff --git a/packages/graphiql/package.json b/packages/graphiql/package.json index 35660c1afd6..784da32b7e2 100644 --- a/packages/graphiql/package.json +++ b/packages/graphiql/package.json @@ -54,7 +54,7 @@ "markdown-it": "^12.2.0" }, "peerDependencies": { - "graphql": ">= v14.5.0 <= 15.5.0", + "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4", "react": "^16.8.0 || ^17.0.0 || ^18.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" }, diff --git a/packages/graphql-language-service-cli/package.json b/packages/graphql-language-service-cli/package.json index 5d02b84f708..a148aefc9e5 100644 --- a/packages/graphql-language-service-cli/package.json +++ b/packages/graphql-language-service-cli/package.json @@ -27,7 +27,7 @@ "LSP" ], "peerDependencies": { - "graphql": ">= v14.5.0 <= 15.5.0" + "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4" }, "dependencies": { "@babel/polyfill": "^7.8.7", @@ -37,6 +37,6 @@ "yargs": "^16.2.0" }, "devDependencies": { - "graphql": "experimental-stream-defer" + "graphql": "16.0.0-rc.7.experimental-stream-defer.4" } } diff --git a/packages/graphql-language-service-interface/package.json b/packages/graphql-language-service-interface/package.json index 1ec34d1b24e..a09cf6422d2 100644 --- a/packages/graphql-language-service-interface/package.json +++ b/packages/graphql-language-service-interface/package.json @@ -24,7 +24,7 @@ "module": "esm/index.js", "typings": "dist/index.d.ts", "peerDependencies": { - "graphql": ">= v14.5.0 <= 15.5.0" + "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4" }, "dependencies": { "graphql-language-service-parser": "^1.9.0", @@ -33,7 +33,7 @@ "vscode-languageserver-types": "^3.15.1" }, "devDependencies": { - "graphql": "experimental-stream-defer", + "graphql": "16.0.0-rc.7.experimental-stream-defer.4", "graphql-config": "^3.0.2" } } diff --git a/packages/graphql-language-service-interface/src/getAutocompleteSuggestions.ts b/packages/graphql-language-service-interface/src/getAutocompleteSuggestions.ts index 2ea95e9faee..1cb4bbf1698 100644 --- a/packages/graphql-language-service-interface/src/getAutocompleteSuggestions.ts +++ b/packages/graphql-language-service-interface/src/getAutocompleteSuggestions.ts @@ -22,6 +22,8 @@ import { isInterfaceType, GraphQLInterfaceType, GraphQLObjectType, + Kind, + DirectiveLocation, } from 'graphql'; import { @@ -72,7 +74,7 @@ const collectFragmentDefs = (op: string | undefined) => { if (op) { visit( parse(op, { - experimentalFragmentVariables: true, + allowLegacyFragmentVariables: true, }), { FragmentDefinition(def) { @@ -286,8 +288,8 @@ function getSuggestionsForFieldNames( label: field.name, detail: String(field.type), documentation: field.description ?? undefined, - deprecated: field.isDeprecated, - isDeprecated: field.isDeprecated, + deprecated: Boolean(field.deprecationReason), + isDeprecated: Boolean(field.deprecationReason), deprecationReason: field.deprecationReason, kind: CompletionItemKind.Field, type: field.type, @@ -312,7 +314,7 @@ function getSuggestionsForInputValues( ).filter(v => v.detail === namedInputType.name); if (namedInputType instanceof GraphQLEnumType) { - const values: GraphQLEnumValue[] = namedInputType.getValues(); + const values = namedInputType.getValues(); return hintList( token, values @@ -320,8 +322,8 @@ function getSuggestionsForInputValues( label: value.name, detail: String(namedInputType), documentation: value.description ?? undefined, - deprecated: value.isDeprecated, - isDeprecated: value.isDeprecated, + deprecated: Boolean(value.deprecationReason), + isDeprecated: Boolean(value.deprecationReason), deprecationReason: value.deprecationReason, kind: CompletionItemKind.EnumMember, type: namedInputType, @@ -627,7 +629,7 @@ export function getFragmentDefinitions( fragmentDefs.push({ kind: RuleKinds.FRAGMENT_DEFINITION, name: { - kind: 'Name', + kind: Kind.NAME, value: state.name, }, @@ -639,7 +641,7 @@ export function getFragmentDefinitions( typeCondition: { kind: RuleKinds.NAMED_TYPE, name: { - kind: 'Name', + kind: Kind.NAME, value: state.type, }, }, @@ -783,47 +785,51 @@ export function canUseDirective( const locations = directive.locations; switch (kind) { case RuleKinds.QUERY: - return locations.indexOf('QUERY') !== -1; + return locations.indexOf(DirectiveLocation.QUERY) !== -1; case RuleKinds.MUTATION: - return locations.indexOf('MUTATION') !== -1; + return locations.indexOf(DirectiveLocation.MUTATION) !== -1; case RuleKinds.SUBSCRIPTION: - return locations.indexOf('SUBSCRIPTION') !== -1; + return locations.indexOf(DirectiveLocation.SUBSCRIPTION) !== -1; case RuleKinds.FIELD: case RuleKinds.ALIASED_FIELD: - return locations.indexOf('FIELD') !== -1; + return locations.indexOf(DirectiveLocation.FIELD) !== -1; case RuleKinds.FRAGMENT_DEFINITION: - return locations.indexOf('FRAGMENT_DEFINITION') !== -1; + return locations.indexOf(DirectiveLocation.FRAGMENT_DEFINITION) !== -1; case RuleKinds.FRAGMENT_SPREAD: - return locations.indexOf('FRAGMENT_SPREAD') !== -1; + return locations.indexOf(DirectiveLocation.FRAGMENT_SPREAD) !== -1; case RuleKinds.INLINE_FRAGMENT: - return locations.indexOf('INLINE_FRAGMENT') !== -1; + return locations.indexOf(DirectiveLocation.INLINE_FRAGMENT) !== -1; // Schema Definitions case RuleKinds.SCHEMA_DEF: - return locations.indexOf('SCHEMA') !== -1; + return locations.indexOf(DirectiveLocation.SCHEMA) !== -1; case RuleKinds.SCALAR_DEF: - return locations.indexOf('SCALAR') !== -1; + return locations.indexOf(DirectiveLocation.SCALAR) !== -1; case RuleKinds.OBJECT_TYPE_DEF: - return locations.indexOf('OBJECT') !== -1; + return locations.indexOf(DirectiveLocation.OBJECT) !== -1; case RuleKinds.FIELD_DEF: - return locations.indexOf('FIELD_DEFINITION') !== -1; + return locations.indexOf(DirectiveLocation.FIELD_DEFINITION) !== -1; case RuleKinds.INTERFACE_DEF: - return locations.indexOf('INTERFACE') !== -1; + return locations.indexOf(DirectiveLocation.INTERFACE) !== -1; case RuleKinds.UNION_DEF: - return locations.indexOf('UNION') !== -1; + return locations.indexOf(DirectiveLocation.UNION) !== -1; case RuleKinds.ENUM_DEF: - return locations.indexOf('ENUM') !== -1; + return locations.indexOf(DirectiveLocation.ENUM) !== -1; case RuleKinds.ENUM_VALUE: - return locations.indexOf('ENUM_VALUE') !== -1; + return locations.indexOf(DirectiveLocation.ENUM_VALUE) !== -1; case RuleKinds.INPUT_DEF: - return locations.indexOf('INPUT_OBJECT') !== -1; + return locations.indexOf(DirectiveLocation.INPUT_OBJECT) !== -1; case RuleKinds.INPUT_VALUE_DEF: const prevStateKind = state.prevState && state.prevState.kind; switch (prevStateKind) { case RuleKinds.ARGUMENTS_DEF: - return locations.indexOf('ARGUMENT_DEFINITION') !== -1; + return ( + locations.indexOf(DirectiveLocation.ARGUMENT_DEFINITION) !== -1 + ); case RuleKinds.INPUT_DEF: - return locations.indexOf('INPUT_FIELD_DEFINITION') !== -1; + return ( + locations.indexOf(DirectiveLocation.INPUT_FIELD_DEFINITION) !== -1 + ); } } diff --git a/packages/graphql-language-service-parser/package.json b/packages/graphql-language-service-parser/package.json index 1c2b7e97ef9..b583da961a8 100644 --- a/packages/graphql-language-service-parser/package.json +++ b/packages/graphql-language-service-parser/package.json @@ -24,12 +24,12 @@ "module": "esm/index.js", "typings": "dist/index.d.ts", "peerDependencies": { - "graphql": ">= v14.5.0 <= 15.5.0" + "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4" }, "devDependencies": { "@types/benchmark": "^1.0.33", "benchmark": "^2.1.4", - "graphql": "experimental-stream-defer", + "graphql": "16.0.0-rc.7.experimental-stream-defer.4", "lodash": "^4.17.15", "platform": "^1.3.5", "ts-node": "^8.10.2", diff --git a/packages/graphql-language-service-parser/src/Rules.ts b/packages/graphql-language-service-parser/src/Rules.ts index efc9983b4e0..016eba2f389 100644 --- a/packages/graphql-language-service-parser/src/Rules.ts +++ b/packages/graphql-language-service-parser/src/Rules.ts @@ -10,6 +10,7 @@ import { State, Token, Rule, RuleKind, ParseRule } from './types'; import CharacterStream from './CharacterStream'; import { opt, list, butNot, t, p } from './RuleHelpers'; +import { Kind } from 'graphql'; /** * Whitespace tokens defined in GraphQL spec. @@ -61,7 +62,7 @@ export const ParseRules: { [name: string]: ParseRule } = { case 'subscription': return 'Subscription'; case 'fragment': - return 'FragmentDefinition'; + return Kind.FRAGMENT_DEFINITION; case 'schema': return 'SchemaDef'; case 'scalar': diff --git a/packages/graphql-language-service-parser/src/onlineParser.ts b/packages/graphql-language-service-parser/src/onlineParser.ts index 1321b8f68f1..6e1fb4a3ff8 100644 --- a/packages/graphql-language-service-parser/src/onlineParser.ts +++ b/packages/graphql-language-service-parser/src/onlineParser.ts @@ -35,6 +35,7 @@ import CharacterStream from './CharacterStream'; import { State, Token, Rule, RuleKind } from './types'; import { LexRules, ParseRules, isIgnored } from './Rules'; +import { Kind } from 'graphql'; export type ParserOptions = { eatWhitespace: (stream: CharacterStream) => boolean; @@ -67,7 +68,7 @@ export default function onlineParser( prevState: null, }; - pushRule(options.parseRules, initialState, 'Document'); + pushRule(options.parseRules, initialState, Kind.DOCUMENT); return initialState; }, token(stream: CharacterStream, state: State) { diff --git a/packages/graphql-language-service-server/package.json b/packages/graphql-language-service-server/package.json index 2103f7cfcc6..d0027565d39 100644 --- a/packages/graphql-language-service-server/package.json +++ b/packages/graphql-language-service-server/package.json @@ -26,7 +26,7 @@ "module": "esm/index.js", "typings": "esm/index.d.ts", "peerDependencies": { - "graphql": ">= v14.5.0 <= 15.5.0" + "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4" }, "dependencies": { "@babel/parser": "^7.13.13", @@ -44,7 +44,7 @@ "devDependencies": { "@types/mkdirp": "^1.0.1", "cross-env": "^7.0.2", - "graphql": "experimental-stream-defer", + "graphql": "16.0.0-rc.7.experimental-stream-defer.4", "vscode-languageserver-protocol": "^3.15.3" } } diff --git a/packages/graphql-language-service-types/package.json b/packages/graphql-language-service-types/package.json index f048e3d9b67..113fc776a49 100644 --- a/packages/graphql-language-service-types/package.json +++ b/packages/graphql-language-service-types/package.json @@ -24,10 +24,10 @@ "module": "esm/index.js", "typings": "dist/index.d.ts", "peerDependencies": { - "graphql": ">= v14.5.0 <= 15.5.0" + "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4" }, "devDependencies": { - "graphql": "experimental-stream-defer", + "graphql": "16.0.0-rc.7.experimental-stream-defer.4", "graphql-config": "^3.0.2", "vscode-languageserver-types": "^3.15.1" } diff --git a/packages/graphql-language-service-utils/package.json b/packages/graphql-language-service-utils/package.json index 029d8dc91b4..81293df1773 100644 --- a/packages/graphql-language-service-utils/package.json +++ b/packages/graphql-language-service-utils/package.json @@ -24,7 +24,7 @@ "module": "esm/index.js", "typings": "dist/index.d.ts", "peerDependencies": { - "graphql": ">= v14.5.0 <= 15.5.0" + "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4" }, "dependencies": { "graphql-language-service-types": "^1.8.0", diff --git a/packages/graphql-language-service/package.json b/packages/graphql-language-service/package.json index bb1ab6517be..f1a72290e02 100644 --- a/packages/graphql-language-service/package.json +++ b/packages/graphql-language-service/package.json @@ -27,7 +27,7 @@ "graphql": "./dist/temp-bin.js" }, "peerDependencies": { - "graphql": ">= v14.5.0 <= 15.5.0" + "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4" }, "dependencies": { "graphql-language-service-interface": "^2.8.2", @@ -36,6 +36,6 @@ "graphql-language-service-utils": "^2.5.3" }, "devDependencies": { - "graphql": "experimental-stream-defer" + "graphql": "16.0.0-rc.7.experimental-stream-defer.4" } } diff --git a/packages/monaco-graphql/package.json b/packages/monaco-graphql/package.json index dd96ef8abb8..7bcedada869 100644 --- a/packages/monaco-graphql/package.json +++ b/packages/monaco-graphql/package.json @@ -26,12 +26,12 @@ "graphql-language-service-utils": "^2.5.1" }, "devDependencies": { - "graphql": "experimental-stream-defer", + "graphql": "16.0.0-rc.7.experimental-stream-defer.4", "monaco-editor": "^0.27.0", "vscode-languageserver-types": "^3.15.1" }, "peerDependencies": { - "graphql": ">= v14.5.0 <= 15.5.0", + "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4", "monaco-editor": "^0.20.0" } } diff --git a/yarn.lock b/yarn.lock index 5aeb1c6e37c..da32c6560f6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11573,6 +11573,11 @@ graphql-ws@^4.9.0: resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-4.9.0.tgz#5cfd8bb490b35e86583d8322f5d5d099c26e365c" integrity sha512-sHkK9+lUm20/BGawNEWNtVAeJzhZeBg21VmvmLoT5NdGVeZWv5PdIhkcayQIAgjSyyQ17WMKmbDijIPG2On+Ag== +graphql@16.0.0-rc.7.experimental-stream-defer.4: + version "16.0.0-rc.7.experimental-stream-defer.4" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.0.0-rc.7.experimental-stream-defer.4.tgz#c733d365f3130746c9cc8a85db7ec81258b8f388" + integrity sha512-Kfq0trE5N5la9X2cOqV8bYvrW9cdJVLXaRoAp83gDmCm59+/4qakiZmARKjBWX9tG6Xn0mCATrkpfmRFn0y8zw== + graphql@experimental-stream-defer: version "15.4.0-experimental-stream-defer.1" resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.4.0-experimental-stream-defer.1.tgz#46ae3fd2b532284575e7ddcf6c4f08aa7fe53fa3" From 7f1d60b31a1f20f3d14b2c65bca730f10d4ca8b4 Mon Sep 17 00:00:00 2001 From: Saihajpreet Singh Date: Wed, 27 Oct 2021 22:09:32 -0500 Subject: [PATCH 2/9] almost done --- packages/codemirror-graphql/package.json | 4 +-- packages/codemirror-graphql/src/info.ts | 2 +- .../src/utils/getTypeInfo.ts | 7 ++-- packages/graphiql/package.json | 2 +- .../src/components/DocExplorer/TypeDoc.tsx | 14 ++++---- packages/graphiql/src/components/GraphiQL.tsx | 4 +-- packages/graphiql/src/utility/fillLeafs.ts | 7 ++-- .../graphiql/src/utility/getQueryFacts.ts | 2 +- packages/graphiql/src/utility/mergeAst.ts | 15 ++++---- .../graphiql/src/utility/onHasCompletion.ts | 2 +- .../src/getAutocompleteSuggestions.ts | 10 +++--- .../src/getDiagnostics.ts | 6 ++-- .../src/getOutline.ts | 5 +-- .../src/GraphQLCache.ts | 35 ++++--------------- .../src/MessageProcessor.ts | 18 +++------- .../package.json | 2 +- .../src/fragmentDependencies.ts | 5 +-- .../src/validateWithCustomRules.ts | 6 ++-- packages/monaco-graphql/src/api.ts | 2 +- 19 files changed, 61 insertions(+), 87 deletions(-) diff --git a/packages/codemirror-graphql/package.json b/packages/codemirror-graphql/package.json index b3a7cfb5b1f..404772b766a 100644 --- a/packages/codemirror-graphql/package.json +++ b/packages/codemirror-graphql/package.json @@ -40,7 +40,7 @@ }, "peerDependencies": { "codemirror": "^5.58.2", - "graphql": ">= v14.5.0 <= 15.5.0" + "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4" }, "dependencies": { "graphql-language-service-interface": "^2.8.2", @@ -49,7 +49,7 @@ "devDependencies": { "codemirror": "^5.58.2", "cross-env": "^7.0.2", - "graphql": "experimental-stream-defer", + "graphql": "16.0.0-rc.7.experimental-stream-defer.4", "jsdom": "^16.4.0", "rimraf": "^3.0.2", "sane": "2.0.0" diff --git a/packages/codemirror-graphql/src/info.ts b/packages/codemirror-graphql/src/info.ts index 412e2dd7d39..cce469e9bb9 100644 --- a/packages/codemirror-graphql/src/info.ts +++ b/packages/codemirror-graphql/src/info.ts @@ -76,7 +76,7 @@ CodeMirror.registerHelper( ) { const into = document.createElement('div'); renderField(into, typeInfo, options); - renderDescription(into, options, typeInfo.fieldDef as GraphQLInputField); + renderDescription(into, options, typeInfo.fieldDef as any); return into; } else if (kind === 'Directive' && step === 1 && typeInfo.directiveDef) { const into = document.createElement('div'); diff --git a/packages/codemirror-graphql/src/utils/getTypeInfo.ts b/packages/codemirror-graphql/src/utils/getTypeInfo.ts index 66d2e56a2da..7d5bb9a9619 100644 --- a/packages/codemirror-graphql/src/utils/getTypeInfo.ts +++ b/packages/codemirror-graphql/src/utils/getTypeInfo.ts @@ -107,7 +107,7 @@ export default function getTypeInfo(schema: GraphQLSchema, tokenState: State) { getFieldDef(schema, info.parentType, state.prevState.name) : null : null; - info.argDefs = parentDef ? parentDef.args : null; + info.argDefs = parentDef ? (parentDef.args as GraphQLArgument[]) : null; break; case 'Argument': info.argDef = null; @@ -125,7 +125,10 @@ export default function getTypeInfo(schema: GraphQLSchema, tokenState: State) { const enumType = info.inputType ? getNamedType(info.inputType) : null; info.enumValue = enumType instanceof GraphQLEnumType - ? find(enumType.getValues(), val => val.value === state.name) + ? find( + enumType.getValues() as GraphQLEnumValue[], + val => val.value === state.name, + ) : null; break; case 'ListValue': diff --git a/packages/graphiql/package.json b/packages/graphiql/package.json index 784da32b7e2..86fafd30821 100644 --- a/packages/graphiql/package.json +++ b/packages/graphiql/package.json @@ -74,7 +74,7 @@ "express": "^4.17.1", "express-graphql": "experimental-stream-defer", "fork-ts-checker-webpack-plugin": "4.1.3", - "graphql": "experimental-stream-defer", + "graphql": "16.0.0-rc.7.experimental-stream-defer.4", "html-webpack-plugin": "^4.2.0", "identity-obj-proxy": "^3.0.0", "jest": "^25.3.0", diff --git a/packages/graphiql/src/components/DocExplorer/TypeDoc.tsx b/packages/graphiql/src/components/DocExplorer/TypeDoc.tsx index e7bb87b0f7f..fe364256e90 100644 --- a/packages/graphiql/src/components/DocExplorer/TypeDoc.tsx +++ b/packages/graphiql/src/components/DocExplorer/TypeDoc.tsx @@ -93,9 +93,7 @@ export default class TypeDoc extends React.Component<
{'fields'}
{fields - .filter(field => - 'isDeprecated' in field ? !field.isDeprecated : true, - ) + .filter(field => Boolean(field.deprecationReason)) .map(field => ( ); - const deprecatedFields = fields.filter( - field => 'isDeprecated' in field && field.isDeprecated, + const deprecatedFields = fields.filter(field => + Boolean(field.deprecationReason), ); if (deprecatedFields.length > 0) { deprecatedFieldsDef = ( @@ -143,14 +141,16 @@ export default class TypeDoc extends React.Component<
{'values'}
{values - .filter(value => !value.isDeprecated) + .filter(value => Boolean(!value.deprecationReason)) .map(value => ( ))}
); - const deprecatedValues = values.filter(value => value.isDeprecated); + const deprecatedValues = values.filter(value => + Boolean(value.deprecationReason), + ); if (deprecatedValues.length > 0) { deprecatedValuesDef = (
diff --git a/packages/graphiql/src/components/GraphiQL.tsx b/packages/graphiql/src/components/GraphiQL.tsx index bacf352df8a..9aa3a0a49e1 100644 --- a/packages/graphiql/src/components/GraphiQL.tsx +++ b/packages/graphiql/src/components/GraphiQL.tsx @@ -1026,7 +1026,7 @@ export class GraphiQL extends React.Component { } else { visit( parse(this.props.externalFragments, { - experimentalFragmentVariables: true, + allowLegacyFragmentVariables: true, }), { FragmentDefinition(def) { @@ -1311,7 +1311,7 @@ export class GraphiQL extends React.Component { const editor = this.getQueryEditor(); const editorContent = editor?.getValue() ?? ''; const prettifiedEditorContent = print( - parse(editorContent, { experimentalFragmentVariables: true }), + parse(editorContent, { allowLegacyFragmentVariables: true }), ); if (prettifiedEditorContent !== editorContent) { diff --git a/packages/graphiql/src/utility/fillLeafs.ts b/packages/graphiql/src/utility/fillLeafs.ts index c0925868fbb..9ee6a6bbc50 100644 --- a/packages/graphiql/src/utility/fillLeafs.ts +++ b/packages/graphiql/src/utility/fillLeafs.ts @@ -17,6 +17,7 @@ import { GraphQLOutputType, GraphQLType, SelectionSetNode, + Kind, } from 'graphql'; import { Maybe } from '../components/GraphiQL'; @@ -153,14 +154,14 @@ function buildSelectionSet( // Build a selection set of each field, calling buildSelectionSet recursively. return { - kind: 'SelectionSet', + kind: Kind.SELECTION_SET, selections: fieldNames.map(fieldName => { const fieldDef = namedType.getFields()[fieldName]; const fieldType = fieldDef ? fieldDef.type : null; return { - kind: 'Field', + kind: Kind.FIELD, name: { - kind: 'Name', + kind: Kind.NAME, value: fieldName, }, // we can use as here, because we already know that fieldType diff --git a/packages/graphiql/src/utility/getQueryFacts.ts b/packages/graphiql/src/utility/getQueryFacts.ts index 2d4741b2e20..8e1e1e082f3 100644 --- a/packages/graphiql/src/utility/getQueryFacts.ts +++ b/packages/graphiql/src/utility/getQueryFacts.ts @@ -43,7 +43,7 @@ export default function getOperationFacts( let documentAST: DocumentNode; try { documentAST = parse(documentStr, { - experimentalFragmentVariables: true, + allowLegacyFragmentVariables: true, }); } catch { return; diff --git a/packages/graphiql/src/utility/mergeAst.ts b/packages/graphiql/src/utility/mergeAst.ts index 2875cf7990d..16c1a696fc7 100644 --- a/packages/graphiql/src/utility/mergeAst.ts +++ b/packages/graphiql/src/utility/mergeAst.ts @@ -16,9 +16,8 @@ import { getNamedType, visit, visitWithTypeInfo, - ASTKindToNode, - Visitor, - ASTNode, + ASTVisitor, + Kind, } from 'graphql'; type Maybe = null | T; @@ -82,7 +81,7 @@ export function inlineRelevantFragmentSpreads( if (fragmentDefinition) { const { typeCondition, directives, selectionSet } = fragmentDefinition; selection = { - kind: 'InlineFragment', + kind: Kind.INLINE_FRAGMENT, typeCondition, directives, selectionSet, @@ -90,7 +89,7 @@ export function inlineRelevantFragmentSpreads( } } if ( - selection.kind === 'InlineFragment' && + selection.kind === Kind.INLINE_FRAGMENT && // Cannot inline if there are directives (!selection.directives || selection.directives?.length === 0) ) { @@ -129,13 +128,13 @@ export default function mergeAST( } = Object.create(null); for (const definition of documentAST.definitions) { - if (definition.kind === 'FragmentDefinition') { + if (definition.kind === Kind.FRAGMENT_DEFINITION) { fragmentDefinitions[definition.name.value] = definition; } } - const visitors: Visitor = { - SelectionSet(node) { + const visitors: ASTVisitor = { + SelectionSet(node: any) { const selectionSetType = typeInfo ? typeInfo.getParentType() : null; let { selections } = node; diff --git a/packages/graphiql/src/utility/onHasCompletion.ts b/packages/graphiql/src/utility/onHasCompletion.ts index e85654f3b78..691fe55a8db 100644 --- a/packages/graphiql/src/utility/onHasCompletion.ts +++ b/packages/graphiql/src/utility/onHasCompletion.ts @@ -83,7 +83,7 @@ export default function onHasCompletion( : type + description) + '
'; - if (ctx && deprecation && ctx.isDeprecated) { + if (ctx && deprecation && ctx.deprecationReason) { const reason = ctx.deprecationReason ? md.render(ctx.deprecationReason) : ''; diff --git a/packages/graphql-language-service-interface/src/getAutocompleteSuggestions.ts b/packages/graphql-language-service-interface/src/getAutocompleteSuggestions.ts index 1cb4bbf1698..5c71d2d8f3e 100644 --- a/packages/graphql-language-service-interface/src/getAutocompleteSuggestions.ts +++ b/packages/graphql-language-service-interface/src/getAutocompleteSuggestions.ts @@ -24,6 +24,7 @@ import { GraphQLObjectType, Kind, DirectiveLocation, + GraphQLArgument, } from 'graphql'; import { @@ -919,10 +920,11 @@ export function getTypeInfo( } else { switch (state.prevState.kind) { case RuleKinds.FIELD: - argDefs = fieldDef && fieldDef.args; + argDefs = fieldDef && (fieldDef.args as GraphQLArgument[]); break; case RuleKinds.DIRECTIVE: - argDefs = directiveDef && directiveDef.args; + argDefs = + directiveDef && (directiveDef.args as GraphQLArgument[]); break; case RuleKinds.ALIASED_FIELD: { const name = state.prevState && state.prevState.name; @@ -937,7 +939,7 @@ export function getTypeInfo( argDefs = null; break; } - argDefs = field.args; + argDefs = field.args as GraphQLArgument[]; break; } default: @@ -963,7 +965,7 @@ export function getTypeInfo( enumValue = enumType instanceof GraphQLEnumType ? find( - enumType.getValues(), + enumType.getValues() as GraphQLEnumValue[], (val: GraphQLEnumValue) => val.value === state.name, ) : null; diff --git a/packages/graphql-language-service-interface/src/getDiagnostics.ts b/packages/graphql-language-service-interface/src/getDiagnostics.ts index b4b5a2da1ff..4b7a242b889 100644 --- a/packages/graphql-language-service-interface/src/getDiagnostics.ts +++ b/packages/graphql-language-service-interface/src/getDiagnostics.ts @@ -17,9 +17,11 @@ import { SourceLocation, ValidationRule, print, + validate, + NoDeprecatedCustomRule, } from 'graphql'; -import { findDeprecatedUsages, parse } from 'graphql'; +import { parse } from 'graphql'; import { CharacterStream, onlineParser } from 'graphql-language-service-parser'; @@ -115,7 +117,7 @@ export function validateQuery( // TODO: detect if > graphql@15.2.0, and use the new rule for this. const deprecationWarningAnnotations = mapCat( - findDeprecatedUsages(schema, ast), + validate(schema, ast, [NoDeprecatedCustomRule]), error => annotations(error, DIAGNOSTIC_SEVERITY.Warning, 'Deprecation'), ); return validationErrorAnnotations.concat(deprecationWarningAnnotations); diff --git a/packages/graphql-language-service-interface/src/getOutline.ts b/packages/graphql-language-service-interface/src/getOutline.ts index b57f56f5bd1..1435a5482a5 100644 --- a/packages/graphql-language-service-interface/src/getOutline.ts +++ b/packages/graphql-language-service-interface/src/getOutline.ts @@ -12,6 +12,7 @@ import { TextToken, TokenKind, IPosition, + OutlineTree, } from 'graphql-language-service-types'; import { @@ -90,7 +91,7 @@ export function getOutline(documentText: string): Outline | null { } const visitorFns = outlineTreeConverter(documentText); - const outlineTrees = visit(ast, { + const outlineTrees = (visit(ast, { leave(node) { if (visitorFns !== undefined && node.kind in visitorFns) { // @ts-ignore @@ -98,7 +99,7 @@ export function getOutline(documentText: string): Outline | null { } return null; }, - }); + }) as unknown) as OutlineTree[]; return { outlineTrees }; } diff --git a/packages/graphql-language-service-server/src/GraphQLCache.ts b/packages/graphql-language-service-server/src/GraphQLCache.ts index 756a148ad9c..8355f26447c 100644 --- a/packages/graphql-language-service-server/src/GraphQLCache.ts +++ b/packages/graphql-language-service-server/src/GraphQLCache.ts @@ -122,10 +122,7 @@ export class GraphQLCache implements GraphQLCacheInterface { // Return an empty array. let parsedQuery; try { - parsedQuery = parse(query, { - allowLegacySDLImplementsInterfaces: true, - allowLegacySDLEmptyFields: true, - }); + parsedQuery = parse(query); } catch (error) { return []; } @@ -220,8 +217,7 @@ export class GraphQLCache implements GraphQLCacheInterface { let parsedQuery; try { parsedQuery = parse(query, { - allowLegacySDLImplementsInterfaces: true, - allowLegacySDLEmptyFields: true, + allowLegacyFragmentVariables: true, }); } catch (error) { return []; @@ -414,10 +410,7 @@ export class GraphQLCache implements GraphQLCacheInterface { const asts = contents.map(({ query }) => { try { return { - ast: parse(query, { - allowLegacySDLImplementsInterfaces: true, - allowLegacySDLEmptyFields: true, - }), + ast: parse(query), query, }; } catch (error) { @@ -479,10 +472,7 @@ export class GraphQLCache implements GraphQLCacheInterface { const asts = contents.map(({ query }) => { try { return { - ast: parse(query, { - allowLegacySDLImplementsInterfaces: true, - allowLegacySDLEmptyFields: true, - }), + ast: parse(query), query, }; } catch (error) { @@ -641,13 +631,7 @@ export class GraphQLCache implements GraphQLCacheInterface { const customDirectives = projectConfig?.extensions?.customDirectives; if (customDirectives && schema) { const directivesSDL = customDirectives.join('\n\n'); - schema = extendSchema( - schema, - parse(directivesSDL, { - allowLegacySDLImplementsInterfaces: true, - allowLegacySDLEmptyFields: true, - }), - ); + schema = extendSchema(schema, parse(directivesSDL)); } if (!schema) { @@ -816,14 +800,7 @@ export class GraphQLCache implements GraphQLCacheInterface { return; } - queries.forEach(({ query }) => - asts.push( - parse(query, { - allowLegacySDLImplementsInterfaces: true, - allowLegacySDLEmptyFields: true, - }), - ), - ); + queries.forEach(({ query }) => asts.push(parse(query))); resolve({ filePath, content, diff --git a/packages/graphql-language-service-server/src/MessageProcessor.ts b/packages/graphql-language-service-server/src/MessageProcessor.ts index e699e056cdf..1c04bb9578a 100644 --- a/packages/graphql-language-service-server/src/MessageProcessor.ts +++ b/packages/graphql-language-service-server/src/MessageProcessor.ts @@ -688,17 +688,11 @@ export class MessageProcessor { const inlineFragments: string[] = []; - visit( - parse(query, { - allowLegacySDLEmptyFields: true, - allowLegacySDLImplementsInterfaces: true, - }), - { - FragmentDefinition: (node: FragmentDefinitionNode) => { - inlineFragments.push(node.name.value); - }, + visit(parse(query), { + FragmentDefinition: (node: FragmentDefinitionNode) => { + inlineFragments.push(node.name.value); }, - ); + }); const formatted = result ? result.definitions.map(res => { @@ -911,9 +905,7 @@ export class MessageProcessor { try { const schema = await this._graphQLCache.getSchema(project.name); if (schema) { - let schemaText = printSchema(schema, { - commentDescriptions: true, - }); + let schemaText = printSchema(schema); // file:// protocol path const uri = this._getTmpProjectPath( project, diff --git a/packages/graphql-language-service-utils/package.json b/packages/graphql-language-service-utils/package.json index 81293df1773..ca70d7656dc 100644 --- a/packages/graphql-language-service-utils/package.json +++ b/packages/graphql-language-service-utils/package.json @@ -32,6 +32,6 @@ }, "devDependencies": { "@types/jest": "^26.0.22", - "graphql": "experimental-stream-defer" + "graphql": "16.0.0-rc.7.experimental-stream-defer.4" } } diff --git a/packages/graphql-language-service-utils/src/fragmentDependencies.ts b/packages/graphql-language-service-utils/src/fragmentDependencies.ts index a0a7ff0949f..8b69fb2d69c 100644 --- a/packages/graphql-language-service-utils/src/fragmentDependencies.ts +++ b/packages/graphql-language-service-utils/src/fragmentDependencies.ts @@ -14,10 +14,7 @@ export const getFragmentDependencies = ( // Return an empty array. let parsedOperation; try { - parsedOperation = parse(operationString, { - allowLegacySDLImplementsInterfaces: true, - allowLegacySDLEmptyFields: true, - }); + parsedOperation = parse(operationString); } catch (error) { return []; } diff --git a/packages/graphql-language-service-utils/src/validateWithCustomRules.ts b/packages/graphql-language-service-utils/src/validateWithCustomRules.ts index 9938cbbecf7..0c2c4b19636 100644 --- a/packages/graphql-language-service-utils/src/validateWithCustomRules.ts +++ b/packages/graphql-language-service-utils/src/validateWithCustomRules.ts @@ -10,15 +10,15 @@ import { ValidationRule, DocumentNode, - Kind, specifiedRules, validate, GraphQLError, GraphQLSchema, NoUnusedFragmentsRule, KnownFragmentNamesRule, + Kind, + ExecutableDefinitionsRule, } from 'graphql'; -import { ExecutableDefinitions } from 'graphql/validation/rules/ExecutableDefinitions'; /** * Validate a GraphQL Document optionally with custom validation rules. @@ -33,7 +33,7 @@ export function validateWithCustomRules( // Because every fragment is considered for determing model subsets that may // be used anywhere in the codebase they're all technically "used" by clients // of graphql-data. So we remove this rule from the validators. - if (rule === NoUnusedFragmentsRule || rule === ExecutableDefinitions) { + if (rule === NoUnusedFragmentsRule || rule === ExecutableDefinitionsRule) { return false; } if (isRelayCompatMode && rule === KnownFragmentNamesRule) { diff --git a/packages/monaco-graphql/src/api.ts b/packages/monaco-graphql/src/api.ts index 1b5bb2650e4..325e3c654ea 100644 --- a/packages/monaco-graphql/src/api.ts +++ b/packages/monaco-graphql/src/api.ts @@ -106,7 +106,7 @@ export class LanguageServiceAPI { let rawSchema = schema as string; if (typeof schema !== 'string') { - rawSchema = printSchema(schema, { commentDescriptions: true }); + rawSchema = printSchema(schema); } this._schemaString = rawSchema; const langWorker = await (await this.worker)(); From 202ff828ffe1377c111710b1973a39a4cb6fdc28 Mon Sep 17 00:00:00 2001 From: Saihajpreet Singh Date: Wed, 27 Oct 2021 22:20:52 -0500 Subject: [PATCH 3/9] tests work? :) --- .../codemirror-graphql/src/__tests__/hint-test.ts | 14 +++++++------- .../src/components/DocExplorer/TypeDoc.tsx | 2 +- .../src/components/__tests__/ExampleSchema.ts | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/codemirror-graphql/src/__tests__/hint-test.ts b/packages/codemirror-graphql/src/__tests__/hint-test.ts index efec2f5e80f..1f0e103b26e 100644 --- a/packages/codemirror-graphql/src/__tests__/hint-test.ts +++ b/packages/codemirror-graphql/src/__tests__/hint-test.ts @@ -137,13 +137,13 @@ describe('graphql-hint', () => { }, { text: '__typename', - type: GraphQLNonNull(GraphQLString), + type: new GraphQLNonNull(GraphQLString), description: 'The name of the current Object type at runtime.', isDeprecated: false, }, { text: '__schema', - type: GraphQLNonNull(__Schema), + type: new GraphQLNonNull(__Schema), description: 'Access the current type schema of this server.', isDeprecated: false, }, @@ -209,7 +209,7 @@ describe('graphql-hint', () => { }, { text: '__typename', - type: GraphQLNonNull(GraphQLString), + type: new GraphQLNonNull(GraphQLString), description: 'The name of the current Object type at runtime.', isDeprecated: false, }, @@ -619,7 +619,7 @@ describe('graphql-hint', () => { { text: '__Type', description: - 'The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByUrl`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.', + 'The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.', }, { text: '__Field', @@ -855,7 +855,7 @@ describe('graphql-hint', () => { }, { text: '__typename', - type: GraphQLNonNull(GraphQLString), + type: new GraphQLNonNull(GraphQLString), description: 'The name of the current Object type at runtime.', isDeprecated: false, }, @@ -887,7 +887,7 @@ describe('graphql-hint', () => { }, { text: '__typename', - type: GraphQLNonNull(GraphQLString), + type: new GraphQLNonNull(GraphQLString), description: 'The name of the current Object type at runtime.', isDeprecated: false, }, @@ -1111,7 +1111,7 @@ describe('graphql-hint', () => { description: 'The name of the current Object type at runtime.', isDeprecated: false, text: '__typename', - type: GraphQLNonNull(GraphQLString), + type: new GraphQLNonNull(GraphQLString), deprecationReason: undefined, }, ]; diff --git a/packages/graphiql/src/components/DocExplorer/TypeDoc.tsx b/packages/graphiql/src/components/DocExplorer/TypeDoc.tsx index fe364256e90..d837af04714 100644 --- a/packages/graphiql/src/components/DocExplorer/TypeDoc.tsx +++ b/packages/graphiql/src/components/DocExplorer/TypeDoc.tsx @@ -93,7 +93,7 @@ export default class TypeDoc extends React.Component<
{'fields'}
{fields - .filter(field => Boolean(field.deprecationReason)) + .filter(field => !field.deprecationReason) .map(field => ( Date: Wed, 27 Oct 2021 22:23:03 -0500 Subject: [PATCH 4/9] upgrade examples --- examples/graphiql-create-fetcher/package.json | 2 +- examples/graphiql-create-react-app/package.json | 2 +- examples/graphiql-parcel/package.json | 2 +- examples/graphiql-webpack/package.json | 2 +- examples/monaco-graphql-webpack/package.json | 2 +- yarn.lock | 5 ----- 6 files changed, 5 insertions(+), 10 deletions(-) diff --git a/examples/graphiql-create-fetcher/package.json b/examples/graphiql-create-fetcher/package.json index 4b3f90c5c8c..f64715d9fe4 100644 --- a/examples/graphiql-create-fetcher/package.json +++ b/examples/graphiql-create-fetcher/package.json @@ -12,7 +12,7 @@ "dependencies": { "graphiql": "file:../../packages/graphiql", "@graphiql/toolkit": "file:../../packages/graphiql-toolkit", - "graphql": "experimental-stream-defer", + "graphql": "16.0.0-rc.7.experimental-stream-defer.4", "react": "16.13.1" }, "devDependencies": { diff --git a/examples/graphiql-create-react-app/package.json b/examples/graphiql-create-react-app/package.json index 9f72bd1db3a..0cef5562217 100644 --- a/examples/graphiql-create-react-app/package.json +++ b/examples/graphiql-create-react-app/package.json @@ -4,7 +4,7 @@ "private": true, "dependencies": { "graphiql": "file:../../packages/graphiql", - "graphql": "experimental-stream-defer", + "graphql": "16.0.0-rc.7.experimental-stream-defer.4", "react": "^16.13.1", "react-dom": "^16.13.1", "react-scripts": "3.4.1" diff --git a/examples/graphiql-parcel/package.json b/examples/graphiql-parcel/package.json index 7f9503a555c..a6f88140b4f 100644 --- a/examples/graphiql-parcel/package.json +++ b/examples/graphiql-parcel/package.json @@ -23,7 +23,7 @@ }, "dependencies": { "graphiql": "file:../../packages/graphiql", - "graphql": "experimental-stream-defer", + "graphql": "16.0.0-rc.7.experimental-stream-defer.4", "react": "^16.13.1", "react-dom": "^16.13.1", "typescript": "^3.4.4" diff --git a/examples/graphiql-webpack/package.json b/examples/graphiql-webpack/package.json index 674220f753b..7c595e2f875 100644 --- a/examples/graphiql-webpack/package.json +++ b/examples/graphiql-webpack/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "graphiql": "file:../../packages/graphiql", - "graphql": "experimental-stream-defer", + "graphql": "16.0.0-rc.7.experimental-stream-defer.4", "react": "17.0.2" }, "devDependencies": { diff --git a/examples/monaco-graphql-webpack/package.json b/examples/monaco-graphql-webpack/package.json index f3bc008eee7..d798ebf4e5f 100644 --- a/examples/monaco-graphql-webpack/package.json +++ b/examples/monaco-graphql-webpack/package.json @@ -9,7 +9,7 @@ "start": "cross-env NODE_ENV=development webpack-dev-server" }, "dependencies": { - "graphql": "experimental-stream-defer", + "graphql": "16.0.0-rc.7.experimental-stream-defer.4", "monaco-graphql": "^0.5.1", "prettier": "^2.0.4" }, diff --git a/yarn.lock b/yarn.lock index da32c6560f6..27de867c822 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11578,11 +11578,6 @@ graphql@16.0.0-rc.7.experimental-stream-defer.4: resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.0.0-rc.7.experimental-stream-defer.4.tgz#c733d365f3130746c9cc8a85db7ec81258b8f388" integrity sha512-Kfq0trE5N5la9X2cOqV8bYvrW9cdJVLXaRoAp83gDmCm59+/4qakiZmARKjBWX9tG6Xn0mCATrkpfmRFn0y8zw== -graphql@experimental-stream-defer: - version "15.4.0-experimental-stream-defer.1" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.4.0-experimental-stream-defer.1.tgz#46ae3fd2b532284575e7ddcf6c4f08aa7fe53fa3" - integrity sha512-zlGgY7aLlIofjO0CfTpCYK/tMccnj+5jvjnkTnW5qOxYhgEltuCvpMNYOJ67gz6L1flTIigt5BVEM8JExgtW3w== - growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" From af8f788f751c657c6e57a6e90f6c34cff633b4ae Mon Sep 17 00:00:00 2001 From: Saihajpreet Singh Date: Wed, 27 Oct 2021 22:36:58 -0500 Subject: [PATCH 5/9] remove new line --- packages/graphiql/cypress/integration/prettify.spec.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/graphiql/cypress/integration/prettify.spec.ts b/packages/graphiql/cypress/integration/prettify.spec.ts index 8472c8f4f76..f6f84c0172e 100644 --- a/packages/graphiql/cypress/integration/prettify.spec.ts +++ b/packages/graphiql/cypress/integration/prettify.spec.ts @@ -2,8 +2,7 @@ const prettifiedQuery = `{ longDescriptionType { id } -} -`; +}`; const prettifiedVariables = `{ "a": 1 From e8aff3668fb2b3a7a36f93ae1a0bdda74b71301b Mon Sep 17 00:00:00 2001 From: Saihajpreet Singh Date: Sun, 31 Oct 2021 09:49:13 -0400 Subject: [PATCH 6/9] build: upgrade 16.0.0-experimental-stream-defer.5 --- examples/graphiql-create-fetcher/package.json | 2 +- examples/graphiql-create-react-app/package.json | 2 +- examples/graphiql-parcel/package.json | 2 +- examples/graphiql-webpack/package.json | 2 +- examples/monaco-graphql-webpack/package.json | 2 +- packages/codemirror-graphql/package.json | 4 ++-- packages/graphiql-2-rfc-context/package.json | 4 ++-- packages/graphiql-toolkit/package.json | 4 ++-- packages/graphiql/package.json | 4 ++-- packages/graphql-language-service-cli/package.json | 4 ++-- packages/graphql-language-service-interface/package.json | 4 ++-- packages/graphql-language-service-parser/package.json | 4 ++-- packages/graphql-language-service-server/package.json | 4 ++-- packages/graphql-language-service-types/package.json | 4 ++-- packages/graphql-language-service-utils/package.json | 4 ++-- packages/graphql-language-service/package.json | 4 ++-- packages/monaco-graphql/package.json | 4 ++-- yarn.lock | 8 ++++---- 18 files changed, 33 insertions(+), 33 deletions(-) diff --git a/examples/graphiql-create-fetcher/package.json b/examples/graphiql-create-fetcher/package.json index f64715d9fe4..d079b2284f0 100644 --- a/examples/graphiql-create-fetcher/package.json +++ b/examples/graphiql-create-fetcher/package.json @@ -12,7 +12,7 @@ "dependencies": { "graphiql": "file:../../packages/graphiql", "@graphiql/toolkit": "file:../../packages/graphiql-toolkit", - "graphql": "16.0.0-rc.7.experimental-stream-defer.4", + "graphql": "16.0.0-experimental-stream-defer.5", "react": "16.13.1" }, "devDependencies": { diff --git a/examples/graphiql-create-react-app/package.json b/examples/graphiql-create-react-app/package.json index 0cef5562217..a536565e81f 100644 --- a/examples/graphiql-create-react-app/package.json +++ b/examples/graphiql-create-react-app/package.json @@ -4,7 +4,7 @@ "private": true, "dependencies": { "graphiql": "file:../../packages/graphiql", - "graphql": "16.0.0-rc.7.experimental-stream-defer.4", + "graphql": "16.0.0-experimental-stream-defer.5", "react": "^16.13.1", "react-dom": "^16.13.1", "react-scripts": "3.4.1" diff --git a/examples/graphiql-parcel/package.json b/examples/graphiql-parcel/package.json index a6f88140b4f..a9db04dbaa0 100644 --- a/examples/graphiql-parcel/package.json +++ b/examples/graphiql-parcel/package.json @@ -23,7 +23,7 @@ }, "dependencies": { "graphiql": "file:../../packages/graphiql", - "graphql": "16.0.0-rc.7.experimental-stream-defer.4", + "graphql": "16.0.0-experimental-stream-defer.5", "react": "^16.13.1", "react-dom": "^16.13.1", "typescript": "^3.4.4" diff --git a/examples/graphiql-webpack/package.json b/examples/graphiql-webpack/package.json index 7c595e2f875..de9746824c8 100644 --- a/examples/graphiql-webpack/package.json +++ b/examples/graphiql-webpack/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "graphiql": "file:../../packages/graphiql", - "graphql": "16.0.0-rc.7.experimental-stream-defer.4", + "graphql": "16.0.0-experimental-stream-defer.5", "react": "17.0.2" }, "devDependencies": { diff --git a/examples/monaco-graphql-webpack/package.json b/examples/monaco-graphql-webpack/package.json index d798ebf4e5f..9bbe2466d0c 100644 --- a/examples/monaco-graphql-webpack/package.json +++ b/examples/monaco-graphql-webpack/package.json @@ -9,7 +9,7 @@ "start": "cross-env NODE_ENV=development webpack-dev-server" }, "dependencies": { - "graphql": "16.0.0-rc.7.experimental-stream-defer.4", + "graphql": "16.0.0-experimental-stream-defer.5", "monaco-graphql": "^0.5.1", "prettier": "^2.0.4" }, diff --git a/packages/codemirror-graphql/package.json b/packages/codemirror-graphql/package.json index 404772b766a..70e19c76deb 100644 --- a/packages/codemirror-graphql/package.json +++ b/packages/codemirror-graphql/package.json @@ -40,7 +40,7 @@ }, "peerDependencies": { "codemirror": "^5.58.2", - "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4" + "graphql": ">= 15.5.0 <= 16.0.0-experimental-stream-defer.5" }, "dependencies": { "graphql-language-service-interface": "^2.8.2", @@ -49,7 +49,7 @@ "devDependencies": { "codemirror": "^5.58.2", "cross-env": "^7.0.2", - "graphql": "16.0.0-rc.7.experimental-stream-defer.4", + "graphql": "16.0.0-experimental-stream-defer.5", "jsdom": "^16.4.0", "rimraf": "^3.0.2", "sane": "2.0.0" diff --git a/packages/graphiql-2-rfc-context/package.json b/packages/graphiql-2-rfc-context/package.json index 07c577a3ffe..c6c520a682d 100644 --- a/packages/graphiql-2-rfc-context/package.json +++ b/packages/graphiql-2-rfc-context/package.json @@ -57,7 +57,7 @@ "theme-ui": "^0.3.1" }, "peerDependencies": { - "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4", + "graphql": ">= 15.5.0 <= 16.0.0-experimental-stream-defer.5", "prop-types": ">=15.5.0", "react": "^16.8.0", "react-dom": "^16.8.0" @@ -80,7 +80,7 @@ "express-graphql": "experimental-stream-defer", "file-loader": "6.2.0", "fork-ts-checker-webpack-plugin": "4.1.3", - "graphql": "16.0.0-rc.7.experimental-stream-defer.4", + "graphql": "16.0.0-experimental-stream-defer.5", "html-webpack-plugin": "^4.2.0", "identity-obj-proxy": "^3.0.0", "jest": "^25.3.0", diff --git a/packages/graphiql-toolkit/package.json b/packages/graphiql-toolkit/package.json index 691e835bcd0..0cc9844165e 100644 --- a/packages/graphiql-toolkit/package.json +++ b/packages/graphiql-toolkit/package.json @@ -25,12 +25,12 @@ "meros": "^1.1.4" }, "devDependencies": { - "graphql": "16.0.0-rc.7.experimental-stream-defer.4", + "graphql": "16.0.0-experimental-stream-defer.5", "isomorphic-fetch": "^3.0.0", "subscriptions-transport-ws": "^0.9.19" }, "peerDependencies": { - "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4" + "graphql": ">= 15.5.0 <= 16.0.0-experimental-stream-defer.5" }, "keywords": [ "graphql", diff --git a/packages/graphiql/package.json b/packages/graphiql/package.json index 86fafd30821..5d3bd2fa18a 100644 --- a/packages/graphiql/package.json +++ b/packages/graphiql/package.json @@ -54,7 +54,7 @@ "markdown-it": "^12.2.0" }, "peerDependencies": { - "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4", + "graphql": ">= 15.5.0 <= 16.0.0-experimental-stream-defer.5", "react": "^16.8.0 || ^17.0.0 || ^18.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" }, @@ -74,7 +74,7 @@ "express": "^4.17.1", "express-graphql": "experimental-stream-defer", "fork-ts-checker-webpack-plugin": "4.1.3", - "graphql": "16.0.0-rc.7.experimental-stream-defer.4", + "graphql": "16.0.0-experimental-stream-defer.5", "html-webpack-plugin": "^4.2.0", "identity-obj-proxy": "^3.0.0", "jest": "^25.3.0", diff --git a/packages/graphql-language-service-cli/package.json b/packages/graphql-language-service-cli/package.json index a148aefc9e5..d781f2f5e0a 100644 --- a/packages/graphql-language-service-cli/package.json +++ b/packages/graphql-language-service-cli/package.json @@ -27,7 +27,7 @@ "LSP" ], "peerDependencies": { - "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4" + "graphql": ">= 15.5.0 <= 16.0.0-experimental-stream-defer.5" }, "dependencies": { "@babel/polyfill": "^7.8.7", @@ -37,6 +37,6 @@ "yargs": "^16.2.0" }, "devDependencies": { - "graphql": "16.0.0-rc.7.experimental-stream-defer.4" + "graphql": "16.0.0-experimental-stream-defer.5" } } diff --git a/packages/graphql-language-service-interface/package.json b/packages/graphql-language-service-interface/package.json index a09cf6422d2..9dccc3a9052 100644 --- a/packages/graphql-language-service-interface/package.json +++ b/packages/graphql-language-service-interface/package.json @@ -24,7 +24,7 @@ "module": "esm/index.js", "typings": "dist/index.d.ts", "peerDependencies": { - "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4" + "graphql": ">= 15.5.0 <= 16.0.0-experimental-stream-defer.5" }, "dependencies": { "graphql-language-service-parser": "^1.9.0", @@ -33,7 +33,7 @@ "vscode-languageserver-types": "^3.15.1" }, "devDependencies": { - "graphql": "16.0.0-rc.7.experimental-stream-defer.4", + "graphql": "16.0.0-experimental-stream-defer.5", "graphql-config": "^3.0.2" } } diff --git a/packages/graphql-language-service-parser/package.json b/packages/graphql-language-service-parser/package.json index b583da961a8..daf153d0394 100644 --- a/packages/graphql-language-service-parser/package.json +++ b/packages/graphql-language-service-parser/package.json @@ -24,12 +24,12 @@ "module": "esm/index.js", "typings": "dist/index.d.ts", "peerDependencies": { - "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4" + "graphql": ">= 15.5.0 <= 16.0.0-experimental-stream-defer.5" }, "devDependencies": { "@types/benchmark": "^1.0.33", "benchmark": "^2.1.4", - "graphql": "16.0.0-rc.7.experimental-stream-defer.4", + "graphql": "16.0.0-experimental-stream-defer.5", "lodash": "^4.17.15", "platform": "^1.3.5", "ts-node": "^8.10.2", diff --git a/packages/graphql-language-service-server/package.json b/packages/graphql-language-service-server/package.json index d0027565d39..07553aaec73 100644 --- a/packages/graphql-language-service-server/package.json +++ b/packages/graphql-language-service-server/package.json @@ -26,7 +26,7 @@ "module": "esm/index.js", "typings": "esm/index.d.ts", "peerDependencies": { - "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4" + "graphql": ">= 15.5.0 <= 16.0.0-experimental-stream-defer.5" }, "dependencies": { "@babel/parser": "^7.13.13", @@ -44,7 +44,7 @@ "devDependencies": { "@types/mkdirp": "^1.0.1", "cross-env": "^7.0.2", - "graphql": "16.0.0-rc.7.experimental-stream-defer.4", + "graphql": "16.0.0-experimental-stream-defer.5", "vscode-languageserver-protocol": "^3.15.3" } } diff --git a/packages/graphql-language-service-types/package.json b/packages/graphql-language-service-types/package.json index 113fc776a49..cb053472199 100644 --- a/packages/graphql-language-service-types/package.json +++ b/packages/graphql-language-service-types/package.json @@ -24,10 +24,10 @@ "module": "esm/index.js", "typings": "dist/index.d.ts", "peerDependencies": { - "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4" + "graphql": ">= 15.5.0 <= 16.0.0-experimental-stream-defer.5" }, "devDependencies": { - "graphql": "16.0.0-rc.7.experimental-stream-defer.4", + "graphql": "16.0.0-experimental-stream-defer.5", "graphql-config": "^3.0.2", "vscode-languageserver-types": "^3.15.1" } diff --git a/packages/graphql-language-service-utils/package.json b/packages/graphql-language-service-utils/package.json index ca70d7656dc..85f265794f5 100644 --- a/packages/graphql-language-service-utils/package.json +++ b/packages/graphql-language-service-utils/package.json @@ -24,7 +24,7 @@ "module": "esm/index.js", "typings": "dist/index.d.ts", "peerDependencies": { - "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4" + "graphql": ">= 15.5.0 <= 16.0.0-experimental-stream-defer.5" }, "dependencies": { "graphql-language-service-types": "^1.8.0", @@ -32,6 +32,6 @@ }, "devDependencies": { "@types/jest": "^26.0.22", - "graphql": "16.0.0-rc.7.experimental-stream-defer.4" + "graphql": "16.0.0-experimental-stream-defer.5" } } diff --git a/packages/graphql-language-service/package.json b/packages/graphql-language-service/package.json index f1a72290e02..f4461efb5bf 100644 --- a/packages/graphql-language-service/package.json +++ b/packages/graphql-language-service/package.json @@ -27,7 +27,7 @@ "graphql": "./dist/temp-bin.js" }, "peerDependencies": { - "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4" + "graphql": ">= 15.5.0 <= 16.0.0-experimental-stream-defer.5" }, "dependencies": { "graphql-language-service-interface": "^2.8.2", @@ -36,6 +36,6 @@ "graphql-language-service-utils": "^2.5.3" }, "devDependencies": { - "graphql": "16.0.0-rc.7.experimental-stream-defer.4" + "graphql": "16.0.0-experimental-stream-defer.5" } } diff --git a/packages/monaco-graphql/package.json b/packages/monaco-graphql/package.json index 7bcedada869..2cbae93d1c6 100644 --- a/packages/monaco-graphql/package.json +++ b/packages/monaco-graphql/package.json @@ -26,12 +26,12 @@ "graphql-language-service-utils": "^2.5.1" }, "devDependencies": { - "graphql": "16.0.0-rc.7.experimental-stream-defer.4", + "graphql": "16.0.0-experimental-stream-defer.5", "monaco-editor": "^0.27.0", "vscode-languageserver-types": "^3.15.1" }, "peerDependencies": { - "graphql": ">= 15.5.0 <= 16.0.0-rc.7.experimental-stream-defer.4", + "graphql": ">= 15.5.0 <= 16.0.0-experimental-stream-defer.5", "monaco-editor": "^0.20.0" } } diff --git a/yarn.lock b/yarn.lock index 27de867c822..a0bfa89431a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11573,10 +11573,10 @@ graphql-ws@^4.9.0: resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-4.9.0.tgz#5cfd8bb490b35e86583d8322f5d5d099c26e365c" integrity sha512-sHkK9+lUm20/BGawNEWNtVAeJzhZeBg21VmvmLoT5NdGVeZWv5PdIhkcayQIAgjSyyQ17WMKmbDijIPG2On+Ag== -graphql@16.0.0-rc.7.experimental-stream-defer.4: - version "16.0.0-rc.7.experimental-stream-defer.4" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.0.0-rc.7.experimental-stream-defer.4.tgz#c733d365f3130746c9cc8a85db7ec81258b8f388" - integrity sha512-Kfq0trE5N5la9X2cOqV8bYvrW9cdJVLXaRoAp83gDmCm59+/4qakiZmARKjBWX9tG6Xn0mCATrkpfmRFn0y8zw== +graphql@16.0.0-experimental-stream-defer.5: + version "16.0.0-experimental-stream-defer.5" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.0.0-experimental-stream-defer.5.tgz#d668566fd33053a054dc5367c38c20a4ac4e4224" + integrity sha512-bluMjYpxh3a1lwZuNP+FAaEDMWzccVhkv+STcw0ckB2EPtLRTYUdXQhF9YBbUHd3tZSAR7LXzsxIw2GZXhg5rw== growly@^1.3.0: version "1.3.0" From 93f065e33f45b418d389566976a51b4fadc33599 Mon Sep 17 00:00:00 2001 From: Rikki Schulte Date: Thu, 28 Oct 2021 14:00:14 +0200 Subject: [PATCH 7/9] upgrade to support `graphql@16.0.0-rc.7.experimental-stream-defer.4` --- .changeset/great-eyes-try.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .changeset/great-eyes-try.md diff --git a/.changeset/great-eyes-try.md b/.changeset/great-eyes-try.md new file mode 100644 index 00000000000..3c6ee37df92 --- /dev/null +++ b/.changeset/great-eyes-try.md @@ -0,0 +1,13 @@ +--- +"codemirror-graphql": minor +"@graphiql/toolkit": minor +"monaco-graphql": minor +"graphiql": minor +"graphql-language-service-cli": minor +"graphql-language-service-interface": minor +"graphql-language-service-parser": minor +"graphql-language-service-server": minor +"graphql-language-service": minor +--- + +upgrade to `graphql@16.0.0-rc.7.experimental-stream-defer.4` From d2e127f8ed133276202982535f78b872432df1ac Mon Sep 17 00:00:00 2001 From: Saihajpreet Singh Date: Thu, 4 Nov 2021 09:22:05 -0400 Subject: [PATCH 8/9] Update .changeset/great-eyes-try.md Co-authored-by: Laurin Quast --- .changeset/great-eyes-try.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/great-eyes-try.md b/.changeset/great-eyes-try.md index 3c6ee37df92..ad14a045729 100644 --- a/.changeset/great-eyes-try.md +++ b/.changeset/great-eyes-try.md @@ -10,4 +10,4 @@ "graphql-language-service": minor --- -upgrade to `graphql@16.0.0-rc.7.experimental-stream-defer.4` +upgrade to `graphql@16.0.0-experimental-stream-defer.5` From d36c6b194138b13b1d102d6a9d3c2e06e919b7a9 Mon Sep 17 00:00:00 2001 From: Rikki Schulte Date: Sun, 7 Nov 2021 15:05:42 +0100 Subject: [PATCH 9/9] chore: cypress spec expected error message --- packages/graphiql/cypress/integration/init.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/graphiql/cypress/integration/init.spec.ts b/packages/graphiql/cypress/integration/init.spec.ts index c93c0d72552..917132d80d6 100644 --- a/packages/graphiql/cypress/integration/init.spec.ts +++ b/packages/graphiql/cypress/integration/init.spec.ts @@ -50,7 +50,7 @@ describe('GraphiQL On Initialization', () => { errors: [ { message: - 'Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ but "" does not.', + 'Names must only contain [_a-zA-Z0-9] but "" does not.', }, ], });